android listview每一个item点击换个背景图或者背景色。要怎么做?求教
androidlistview每一个item点击换个背景图或者背景色。要怎么做?求教。通过selectorxml只能实现点击是有效果,这个不行。用androidbasea...
android listview每一个item点击换个背景图或者背景色。要怎么做?求教。通过selector xml只能实现点击是有效果,这个不行。用android baseadapter?
展开
2个回答
展开全部
主要是这个BeaseAdapter的方法notifyDataSetChanged()的使用;
作用 :调用BaseAdapter中的getView();方法,刷新ListView中的数据。
实现:1.在BaseAdapter里面定义全局变量 int selectIndex;
2.为listView添加setOnItemClickListener()事件:里面改变selectIndex的值==》
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
//选中时改变颜色
adapter.selectIndex=position;
adapter.notifyDataSetChanged();
}
});
2.在getView()方法里面加上一个if:
if( selectIndex == position ){
view.setBackgroundColor(Color.parseColor("#82eae8"));
}else{
view.setBackgroundColor(Color.alpha(0));
}
}
作用 :调用BaseAdapter中的getView();方法,刷新ListView中的数据。
实现:1.在BaseAdapter里面定义全局变量 int selectIndex;
2.为listView添加setOnItemClickListener()事件:里面改变selectIndex的值==》
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
//选中时改变颜色
adapter.selectIndex=position;
adapter.notifyDataSetChanged();
}
});
2.在getView()方法里面加上一个if:
if( selectIndex == position ){
view.setBackgroundColor(Color.parseColor("#82eae8"));
}else{
view.setBackgroundColor(Color.alpha(0));
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你在点击事件中加一个改变item整个布局背景的代码不就可以了
追问
兄 详细点
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询