BaseAdapter里面处理单击事件 转载文章
在BaseAdapter里面处理单击事件
static final class MyAdapter extends BaseAdapter { /** override other methods here */ @Override public View getView(final int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { // inflate the view for row from xml file // keep a reference to each widget on the row. // here I only care about the button holder = new ViewHolder(); holder.mButton = (Button)convertView.findViewById(R.id.button); convertView.setTag(holder); } else { holder = (ViewHolder)convertView.getTag(); } // redefine the action for the button corresponding to the row holder.mButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // do something depending on position performSomeAction(position); // mark data as changed MyAdapter.this.notifyDatasetChanged(); } } } static final class ViewHolder { // references to widgets Button mButton; } }