监听listview中的button事件

public class nearby_custom extends Activity {
 private TextView tv_back;
 private ListView lv_list;
 private ImageButton ibtn_add_custom;
 private ArrayList<String> mName = new ArrayList<String>();
 /**头像**/  
 private ArrayList<Bitmap> mPhoto = new ArrayList<Bitmap>(); 
 private ArrayList<Bitmap> mButton=new ArrayList<Bitmap>();
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.nearby_custom);
		findId();
		tv_back.setOnClickListener(clickListener);
		setData();
	}
	private void findId(){
		tv_back=(TextView)findViewById(R.id.tv_back);
		lv_list=(ListView)findViewById(R.id.lv_list);
	}
	
	private void setData(){
		String[] names=new String[]{"薄袭来","宝儿","张山峰","去亲爱","我是啊","耳啊是","谭咋鹅","赢正","啊而且啊","人啊一","哦哦哦"
				,"啊鹅我","人啊去","想啊恩啊","你啊我","去而去","他安慰去"};
		for (int i = 0; i < names.length; i++) {
			mName.add(names[i]);
			 mPhoto.add(BitmapFactory.decodeResource(getResources(), R.drawable.default_avatar)); 
			 mButton.add(BitmapFactory.decodeResource(getResources(), R.drawable.btn_add_custom));
		}
		lv_list.setAdapter(new apdater.nearby_custom(nearby_custom.this, mName, mPhoto, mButton));
		
   }
}

  主要是重写 baseApdater中的getview:

  public class nearby_custom extends BaseAdapter{

	 /**名称**/  
	 private ArrayList<String> mName = null;
	 /**头像**/  
	 private ArrayList<Bitmap> mPhoto = null;
	 
	 private ArrayList<Bitmap> mButton=null;
	 
	 private LayoutInflater inflater;
	 
	 private Context mcontent=null;
	 
	 public nearby_custom(Context context,ArrayList<String> name,ArrayList<Bitmap> photo,ArrayList<Bitmap> btn){
		 this.mName=name;
		 this.mPhoto=photo;
		 this.mButton=btn;
		 inflater=LayoutInflater.from(context);
		 this.mcontent=context;
	 }
	 
	@Override
	public int getCount() {
		// TODO Auto-generated method stub
		return mName.size();
	}

	@Override
	public Object getItem(int position) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public long getItemId(int position) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		if(convertView==null){
			convertView=inflater.inflate(R.layout.nearby_custom_list_item, null);  
		}
		ImageView ivPic=(ImageView)convertView.findViewById(R.id.iv_custom);
		TextView tv_custom=(TextView)convertView.findViewById(R.id.tv_custom);
		ImageButton ibtn_add=(ImageButton)convertView.findViewById(R.id.ibtn_add);
		
		ivPic.setImageBitmap(mPhoto.get(position));
		tv_custom.setText(mName.get(position));
		ibtn_add.setImageBitmap(mButton.get(position));
		addListener(convertView);
		return convertView;
	}
	/**
	 * 监听button事件
	 * **/
	public void addListener(View convertView) {  
        ((ImageButton)convertView.findViewById(R.id.ibtn_add)).setOnClickListener(  
                new View.OnClickListener() {  
                    @Override  
                    public void onClick(View v) {  
                          Toast.makeText(mcontent, "ok", Toast.LENGTH_LONG).show();
                    }  
                });  
     }
}

http://blog.csdn.net/xiaominghimi/article/details/6314704

猜你喜欢

转载自284772894.iteye.com/blog/1745356