助けてください、この(おそらく単純な)質問は私を夢中にさせます。
テキストビューとチェックボックスを含むカスタムリストビューがあります。チェックボックスがチェックされているときに、リストビュー要素に対してアクションを実行したい。以下のコードを使用しようとしていますが、クリックされた特定のチェックボックスを検出する方法がわかりません。
checkBox = (CheckBox) findViewById(R.id.textCheckbox);
checkBox.setOnCheckedChangeListener(this);
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked)
make some action
else
make another action
}
また、OnItemLongClickListener でチェックボックスを反応させようとしました。
OnItemLongClickListener LongListener = new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> a, View v, int position, long id) {
CheckBox checkBox = (CheckBox) v.findViewById(R.id.textCheckbox);
listView = (ListView) a;
checkBox.setChecked(true);
return true;
}
};
このようにして、リストビュー項目をロングクリックしたときに適切なチェックボックスをチェックできますが、リストを下にスクロールするとすぐにチェックボックスがその位置から移動します。
ご意見をお聞かせください!