ListView で各 item 自体の選択やイベントは起こしたく無いけど、その中にあるボタンや画像をタップした際に onItemClick で処理したい場合。
YourAdapter
@Override
public boolean isEnabled(int position) {
return false; // ListView アイテムの選択を無効にする場合
}
@Override
public View getView(final int position, View view, final ViewGroup parent) {
if (view == null) {
view = mInflater.inflate(R.layout.item_list, parent, false);
view.setTag(new ViewHolder(view));
}
ViewHolder holder = (ViewHolder) view.getTag();
final Item item = getItem(position);
holder.thumbnail.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// ListView の onItemClick 側に処理を任せる
// 必要なら view を渡したり id も渡す
((ListView) parent).performItemClick(null, position, 0);
}
});
return view;
}
parent に ListView が来ることを前提にキャストしてるのが正しいのか微妙だけどまあ動く。