您的位置:首页 > 移动开发 > Android开发

Android中listview选中一个列表变为选中颜色,其他变为默认颜色

2017-05-30 18:49 393 查看
在很多需求中,当我们点击列表时,需要给定其默认颜色,其他未选中的变为另一种颜色,用来区分哪条选中哪条未选中。下面来介绍两种实现的方法

第一种方法:通过调用适配器修改选中项

listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
adapter.changeState(position);

}
});


适配器里的方法:

private int selectorPosition = -1;//默认全部为透明色
public void changeState(int pos) {
selectorPosition = pos;
notifyDataSetChanged();
}

第二种方法:

listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
for(int i=0;i<parent.getCount();i++){
View v=parent.getChildAt(i);
if(position==i){//当前选中的Item的背景颜色
view.setBackgroundColor(Color.parseColor("#ff0000"));

}else{
v.setBackgroundColor(Color.parseColor("#00000000"));
}
}

}
});


第一种方式相对高效一些
项目地址为:http://download.csdn.net/detail/shihuiyun/9856172 ,需要的可以下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐