2013-12-10 43 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();