我有一个简单的 ListView,默认情况下,当我按下列表项时,它的背景会变为某种颜色。但是当我分配每个列表项视图 .setOnClickListener(...) 它停止这样做。你能告诉我幕后发生了什么吗?我研究过这个方法,它不是一个简单的设置器,它是一个可怕的方法调用链......
谢谢。
我有一个简单的 ListView,默认情况下,当我按下列表项时,它的背景会变为某种颜色。但是当我分配每个列表项视图 .setOnClickListener(...) 它停止这样做。你能告诉我幕后发生了什么吗?我研究过这个方法,它不是一个简单的设置器,它是一个可怕的方法调用链......
谢谢。
您的问题是您不应该OnClickListener
为列表中的每个项目设置一个。你应该OnItemClickListener
在你的 上设置一个ListView
,当项目被按下时它会回调。尝试这样的事情:
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();
}
});