需求:
点击ListView的某个Item,要用一张图片高亮显示该Item(也就是设置一个背景图片),而且如果ListView中的Item比较多的话,不会因为滚动ListView而让选中的Item背景
消失。
直接贴代码:
1. 在ListView的适配器里定义一个变量:
public static int SELECTED = 0;
2.在getView方法里:
//holder.layout 就是item布局的最外层的一个LinearLayout
if(SELECTED == position){
holder.layout.setBackgroundDrawable(BitmapUtil.getDrawable(context,
R.drawable.x_home_meeting_item_selected));
}else {
holder.layout.setBackgroundDrawable(null);
}
ok,适配器里就做这件事就要得了。
3.在ListView的OnItemClick方法里:
meetingListView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { MeetingListAdapter.SELECTED = position; if(position!=lastPosition && lastSelectView!=null){ lastSelectView.setBackgroundDrawable(null); } view.setBackgroundDrawable(BitmapUtil.getDrawable(getBaseContext(),R.drawable.x_home_meeting_item_selected)); lastSelectView = view; //方便下次清空 lastPosition = position; //方便下次点击其他Item时,将此选中的Item还原 } });