选中ListView中的Item后,让Item的背景高亮显示为某张图片的实现

需求:

        点击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还原

	}

});




 

你可能感兴趣的:(ListView,null)