各ビューにcheckedtextviewを含むリストビューがあり、すべてのアイテムがデータベースを介して操作されています。すべてが機能しますが、リストアイテムのチェック状態を保存できません。クリックごとにドローアブルセットがありますが、方法がわかりません別のアクティビティを開始した場合に保存するには、コード付きの回答をいただければ幸いです。助けてください!
listview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View v, int position,
long id) {
// TODO Auto-generated method stub
CheckedTextView tt = (CheckedTextView) v
.findViewById(R.id.checkedview1);
if (!tt.isChecked()) {
tt.setChecked(true);
tt.setCheckMarkDrawable(R.drawable.checkedbox);
} else {
tt.setChecked(false);
tt.setCheckMarkDrawable(R.drawable.nullbox);
}
}
});
これが私のリストビューと私のcheckedtextviewのxmlです
<CheckedTextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/checkedview1"
android:paddingLeft="20dip"
android:paddingRight="20dip"
android:paddingTop="10dip"
android:paddingBottom="10dip"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:gravity="center_vertical"
android:checkMark="@drawable/nullbox"
android:textSize = "18sp"
android:textColor="#000000"
android:listSelector="#ef0000"
>
そして私のリストビュー
<ListView
android:id="@+id/list1"
android:layout_width="match_parent"
android:layout_height="404dp"
android:cacheColorHint="#ffffff" />
これは、リストをロードするために使用するアダプターです。c = checklistDB.getAllTasks();
for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){
String task = c.getString(1);
adapter.add(task);
}
checklistDB.close();