我有一个listview,其中包含2个textView和一个ImageView。无论何时按下,我都希望所选行改变它的布局。例如,更改文本的颜色会更改imageView添加另一个等等。我已为要更改的背景添加了自定义列表选择器。我的问题是我应该添加哪个正确的监听器:
TextView title;
TextView descr;
title = (TextView) arg1.findViewById(R.id.title);
descr = (TextView) arg1.findViewById(R.id.descr);
title.setTextColor(Color.parseColor("#189dd9"));
descr.setTextColor(Color.WHITE);
我将它添加到OnItemClickListener中,并且在单击该项目之后它没有被选中时正常工作。
答案 0 :(得分:1)
在内部适配器中,您可以跟踪选择的项目。
int selectedItemIndex;// ArrayList<Integer> selectedItems=new ArrayList<Integer>();
现在在getView中只写
if(position==selectedItemIndex){
//Inflate different layoout
}else{
//normal flow
}
要设置所选项目,您可以设置onItemClick Listener并在适配器中设置此变量,或者您可以在getView内部添加onClick侦听器,并在其中设置此变量。
如果您想要具有相同的布局,只需在/ else
中写入不同的代码答案 1 :(得分:0)
我确实使用了多个选择器,根据这个link我正在重新发布链接,万一有人先找到这个帖子。干杯!