2013-04-26 42 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