前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android 实现ListView的点击变色的实例

Android 实现ListView的点击变色的实例

作者头像
砸漏
发布2020-10-22 11:08:27
1.3K0
发布2020-10-22 11:08:27
举报
文章被收录于专栏:恩蓝脚本

Android 实现ListView的点击变色的实例

我做了一个音乐播放器,其中用ListView显示歌曲列表,当我点击某一首歌时,希望这首歌所在的item的背景颜色改变,以突出显示所选择的歌曲。

首先我想到的是在ItemClickListener里面写,如下:

代码语言:javascript
复制
 private View formerView=null; 
    private class ListViewClickListener implements OnItemClickListener{ 
  @Override 
  public void onItemClick(AdapterView<?  arg0, View arg1, int arg2, long arg3) { 
    if(formerView!=null){ 
      formerView.setBackgroundColor(formerView.getResources().getColor(R.color.background_white)); 
    } 
    arg1.setBackgroundColor(arg1.getResources().getColor(R.color.item_blue)); 
    formerView=arg1; 
  } 
} 

当选中一个item,就改变颜色,接着又选中一个item的时候,将前一个item还原为之前的颜色。但是我发现一个问题,就是当我选中一个item的时候,不止这一个item的颜色会改变,往下滑动发现后面还有几个item的颜色也被改变了。是不是onItemClick方法里面的View arg1这个参数是随着屏幕上显示的内容改变而变化的呢?我不敢乱说,但这个办法是行不通的。

后来发现原来有一个非常简单的办法,Android早已想到了我们会需要这个功能,直接提供了一个方法实现这个功能。

代码语言:javascript
复制
localMusicListView.setSelector(R.color.item_blue); 

直接给ListView添加这样一个方法即可。完美实现这个功能。

以上就是Android listview 点击变色的实现,本站关于Android 开发的文章还有很多,希望大家搜索查阅,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档