ListView で ボタンなどを配置すると onClick イベントが発生して、 onItemClick が呼ばれずに position どうすんだ?
って時に
@Override public View getView(final int position, View convertView, final ViewGroup parent) { /* だいぶ省略 */ button = (Button) convertView.findViewById(R.id.button1); button.setOnClickListener(new OnClickListener(){ public void onClick(View v){ ((ListView) parent).performItemClick(v, position, (long)v.getId()); } }); return convertView; }
逆に ListView を一つにしたい時は、レイアウトに以下を設定
android:descendantFocusability="blocksDescendants"
android:descendantFocusability=”blocksDescendants”