をListView
指定する がありますlistSelector
:
<ListView
android:id="@+id/listView"
android:listSelector="@drawable/list_selector"
android:layout_width="match_parent"
android:layout_height="match_parent" />
すべてのリスト項目には次のものがありCheckedTextView
ます。
<CheckedTextView
android:id="@+id/checkedTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckedTextView" />
リストから行をクリックすると、クリックされたアイテムがチェックされたままになる必要があります。これが私のやり方です:
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
listView.setOnItemClickListener(this);
// ....
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
CheckedTextView checkedTextView = (CheckedTextView) view.findViewById(R.id.checkedTextView);
checkedTextView.setChecked(true);
}
Android 4.0 では正常に動作しますが、Android 2.3 では動作しません。なぜこれが起こっているのか、手がかりを教えていただければ幸いです。