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