Android:ListVIew:更改背景onClick

Android:ListVIew:更改背景onClick,第1张

概述我有ListVIew,并且我想在单击它时更改项目背景,以显示它已被选中.但是,当我使用此代码(在文本下)时,它每隔13个项目就会更改一次背景色.例如:如果我选择1个项目并向下滚动,它将更改每个13个项目的颜色(1-13-26..).我只想更改一项的背景.lvpl.setOnItemClickListener(newAdapter

我有ListVIEw,并且我想在单击它时更改项目背景,以显示它已被选中.但是,当我使用此代码(在文本下)时,它每隔13个项目就会更改一次背景色.例如:如果我选择1个项目并向下滚动,它将更改每个13个项目的颜色(1-13-26 ..).我只想更改一项的背景.

lvpl.setonItemClickListener( new AdapterVIEw.OnItemClickListener() {     @OverrIDe     public voID onItemClick(AdapterVIEw<?> parent, VIEw vIEw, int position, long ID) {           TextVIEw tv = (TextVIEw) vIEw           tv.setBackgroundcolor(color.argb(125,75,236,90));           final_IDs.add(IDs.get(position));     }});

解决方法:

问题是您的列表适配器正在重新使用移出屏幕的视图.

解决方案是在适配器中为其他视图设置默认颜色

public VIEw getVIEw(int position, VIEw convertVIEw, VIEwGroup parent) {    if (convertVIEw == null) {        LayoutInflater inflater = (LayoutInflater) convertVIEw.getContext()                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);         = inflater.inflate(                R.layout.your_List_item, null);    }if(postion!=Selectedposition)  {   convertVIEw.setBackgroundcolor(default color);    }  else   {    convertVIEw.setBackgroundcolor(color.argb(125,75,236,90));   }    return convertVIEw;}
总结

以上是内存溢出为你收集整理的Android:ListVIew:更改背景onClick全部内容,希望文章能够帮你解决Android:ListVIew:更改背景onClick所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存