我有一个简单的 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/