Android setOnClickListener 禁用ListView中的状态颜色变化

标签 android colors state onclicklistener

我有一个简单的 ListView,默认情况下,当我按下列表项时,其背景会更改为某种颜色。但是当我分配每个列表项 View .setOnClickListener(...) 时,它会停止这样做。 你能告诉我幕后发生了什么吗?我研究过这个方法,它不是一个普通的 setter,而是一连串可怕的方法调用......

谢谢。

最佳答案

您的问题是您不应该为列表中的每个项目设置 OnClickListener。您应该在 ListView 上设置一个 OnItemClickListener,它将在按下项目时回调。尝试这样的事情:

    listView.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            // When clicked, show a toast
            Toast.makeText(getApplicationContext(), "Position " + position 
                            + " clicked", Toast.LENGTH_SHORT).show();
        }
    });

关于Android setOnClickListener 禁用ListView中的状态颜色变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16241760/

相关文章:

javascript - 如何在渲染前使用 setState 更新状态

javascript - 如何将 React 中的状态从一个类传递到另一个类?

java - 再次调用fragment时是否可以恢复fragment UI中数据的状态?

android - 当我在 fragment 之间滑动时,tabindicator 不会在 tablayout 中从一个选项卡滑动到另一个选项卡。字体的突出显示也没有改变

android - 如何使用Android opencv使图像的白色部分透明

java - 在Java中将灰度转换为颜色渐变?

java - 如何使用 BufferedImage 和 YCbCr 色彩空间?

objective-c - 色轮背后的算法是什么?

android - 如何在真机上运行Robotium测试

android - 水平交叉重叠图像