2013-04-26 44 views
2

我有一个简单的ListView,默认情况下,当我按列表项时,其背景会更改为某种颜色。但是,当我分配每个列表项视图.setOnClickListener(...)它停止这样做。 你能告诉我幕后会发生什么吗?我已经看过这种方法,它不是一个简单的setter,它是一个可怕的方法调用链...Android setOnClickListener禁用ListView中的状态颜色更改

谢谢。

回答

4

您的问题是,您不应该为列表中的每个项目设置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(); 
     } 
    }); 
+0

是的,这个工程,谢谢 – ievgen 2013-04-26 18:37:12