更改listView的布局/颜色

Libathos

我有一个列表视图,其中包含2个textViews和一个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,并且在未选择项目时单击它之后,它可以正常工作。

维普尔米塔尔

在适配器内部,您可以跟踪选择了哪个项目。

int selectedItemIndex;// ArrayList<Integer> selectedItems=new ArrayList<Integer>(); 

现在在getView中只要写

if(position==selectedItemIndex){ 
   //Inflate different layoout
}else{
 //normal flow
 }

要设置选定的项目,可以设置onItemClick侦听器并在适配器中设置此变量,也可以在getView本身内添加onClick侦听器并在其中设置此变量。

如果您想拥有相同的布局,只需在if / else内编写不同的代码

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章