在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; }
}
|