我有一个由自定义适配器填充的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;
}
是什么原因?
感谢。
答案 0 :(得分:0)
首先设置后台资源不会导致它。你也可以发布适配器和xml文件的完整代码。
答案 1 :(得分:0)
更好地更改xml文件中布局的背景
例:relativelayout.setbackgroundResource();
答案 2 :(得分:0)
调用了onListItemClick()
,但是您失去了点击“突出显示”,因为您已将背景设置为一个渐变。为避免这种情况,您需要创建statelist
(http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList)来为按钮的每个状态定义背景。例如see this question。您可以将此xml保存在drawable文件夹中,然后让按钮背景引用它:
android:background="@drawable/my_button_selector"