按下时更改Android ListView条目中的图标

按下时更改Android ListView条目中的图标,第1张

概述我目前正在尝试在Android中实现一个ListView,其中包含带有图标和描述文本的行.当用户按下一行时,背景颜色应该改变,图标应该被替换,如下图所示.使用选择器更改背景没有问题.但我只是想不出一个简单的方法来改变图标.我尝试的是添加2个相互重叠的图标:<RelativeLayoutandroid

我目前正在尝试在Android中实现一个ListVIEw,其中包含带有图标和描述文本的行.当用户按下一行时,背景颜色应该改变,图标应该被替换,如下图所示.

使用选择器更改背景没有问题.但我只是想不出一个简单的方法来改变图标.我尝试的是添加2个相互重叠的图标:

<relativeLayout    androID:layout_wIDth="50dp"    androID:layout_height="50dp"    androID:padding="10dp" >    <ImageVIEw        androID:ID="@+ID/general_List_item_icon"        androID:layout_wIDth="fill_parent"        androID:layout_height="fill_parent"        androID:scaleType="centerInsIDe" />    <ImageVIEw        androID:ID="@+ID/general_List_item_icon_active"        androID:layout_wIDth="fill_parent"        androID:layout_height="fill_parent"        androID:visibility="gone" /></relativeLayout>

然后我在每个ImageVIEw中放置一个drawable,并希望在用户按下该行时切换可见性.是否有可能使用类似于背景的选择器来执行此 *** 作?

另外:由于ListVIEw是动态填充的,因此使用带有静态可绘制引用的选择器不起作用.

解决方法:

您可以使用setChoiceMode

ListVIEw.setChoiceMode(ListVIEw.CHOICE_MODE_SINGLE);

在调用set adapter之前调用此方法.并覆盖适配器的getvIEw方法.
示例代码.

public VIEw getVIEw(int position, VIEw convertVIEw,                    VIEwGroup parent) {                if(convertVIEw!=null){                    ImageVIEw img = (ImageVIEw)convertVIEw.findVIEwByID(R.ID.imageVIEw1);                    if(myList.isItemChecked(position)){                        convertVIEw.setBackgroundcolor(color.WHITE);// here you can set any color.                        img.setimageResource(R.drawable.img1);//img1 is stored in your rawable folder.                    }else{                        convertVIEw.setBackgroundcolor(0);                        img.setimageResource(R.drawable.img2);                    }                }                return super.getVIEw(position, convertVIEw, parent);            }

我希望这能为您提供您想要的解决方案.祝一切顺利.谢谢.

总结

以上是内存溢出为你收集整理的按下时更改Android ListView条目中的图标全部内容,希望文章能够帮你解决按下时更改Android ListView条目中的图标所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1116048.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存