更改listView的布局/颜色

时间:2014-07-28 08:29:23

标签: android listview

我有一个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中,并且在单击该项目之后它没有被选中时正常工作。

2 个答案:

答案 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我正在重新发布链接,万一有人先找到这个帖子。干杯!