私は現在、ボタンのリスナーが何かをするためにこのコードを使用しています:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.list_row, null);
}
Person p = persons.get(position);
if (p != null) {
Button but = (Button) v.findViewById(R.id.buttonId);
but.setText(p.getDescription());
but.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// do stuff
}
});
}
return v;
}
これはメモリ管理に適しているのでしょうか、それともアクティビティ自体で onListItemClick を実行する方がよいでしょうか?