2013-12-10 80 views
0

我有一個由自定義適配器填充的ListView。但如果我在適配器中設置setBackgroundResource,ListView項目不可點擊。有我的代碼:由於setBackgroundResource,ListView項不可點擊

public View getView(int position, View convertView, ViewGroup parent) { 
    View view = convertView; 
    if (view == null) { 
     view = lInflater.inflate(R.layout.film_list, parent, false); 
    } 

    FilmData p = ((FilmData) getItem(position)); 
    view.setBackgroundResource(R.drawable.gradient); 

    ((TextView) view.findViewById(R.id.textTime)).setText(p.time); 

    return view; 
} 

是什麼原因?

謝謝。

+1

您確定沒有調用onListItemClick(您可以使用日誌語句進行檢查)嗎?似乎將背景設置爲此漸變意味着您將失去listitems的單擊狀態。相反,嘗試使用狀態列表(http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList) – Joris

+0

感謝您的提示,使用onListitemClick檢查它。發現ListView項是可點擊的,但是'view.setBackgroundResource(R.drawable.gradient);'按下時重疊列表項高亮。我如何在設置的背景上突出顯示項目? –

回答

0

首先設置後臺資源不會導致它。你可以發佈適配器和XML文件的完整代碼嗎?

0

更好地改變佈局的背景在XML文件中

例如:relativelayout.setbackgroundResource();