我使用ListView和Adapter显示了数据库的数据,想点击一个Item改变item背景颜色,然后显示删除按钮,然后点击删除按钮就删除改item。
我用onListItemClick更改Item的背景颜色,现在问题来了,后续我点击item中的R.id.click_remove去删除这个item,对应的item删除了,但是改变背景颜色的view没有删除,和下一条数据结合在一起。
我想删除按钮点击以后数据和改变了背景色的view都能消失,请教大虾这里面到底是个什么原理?有什么好的办法可以去实现,谢谢!
当点击Item的时候改变背景颜色,同时显示一个控件:
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
View removeView=v.findViewById(R.id.click_remove);
if(removeView.getVisibility()==View.GONE)
{
v.setBackgroundColor(getResources().getColor(R.color.blue));
removeView.setVisibility(View.VISIBLE);
}
else
{
v.setBackgroundColor(getResources().getColor(R.color.white));
removeView.setVisibility(View.GONE);
}
}
删除操作代码:
@Override
public void remove(int which) {
HashMap<String, Object> m=(HashMap)adapter.getItem(which);
list.remove(m);
adapter.notifyDataSetChanged();
}


------解决方案--------------------
关于背景颜色的代码写在adapter里的getview方法里。
------解决方案--------------------
你每次加载adapter就是一个view,删一个item就是删除一个view