simple_multiple_listitem ビューであるいくつかのチェックボックスを備えたリストビューがあります。これは、リストビューを初期化する方法です
listView.setAdapter(new ArrayAdapter<String>(
getApplicationContext(),
android.R.layout.simple_list_item_multiple_choice,
subcatNamesList));
リストの読み込み時に、選択したチェックボックスをいくつか表示する必要があります。以下のコードを使用してこれを行いました
for (int i = 0; i < subCatArrayLlist.size(); i++) {
for (int j = 0; j < selectedItemsList.size(); j++) {
if (subCatArrayLlist.get(i).getSubCatSrNo()
.contains(selectedItemsList.get(j))) {
listView.setItemChecked(i, true);
}
}
また、リストを読み込んだ後に選択または選択解除したときにチェックボックスの状態を取得する必要があります。ジェリービーンズで完全に機能するコードをいくつか記述します[チェックボックスを選択すると、選択解除時にtrueとfalseが返されることを意味します]。しかし、ICSでは、なぜこれが起こっているのか、私の問題を調べてください。私は本当にこの部分で立ち往生しています。以下は、選択と選択解除に使用している mcode です。
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int pos, long arg3) {
System.out.println("Get item at position= "
+ listView.getChildAt(pos));
// selectedItemsList.add(subCatArrayLlist.get(pos)
// .getSubCatSrNo());
CheckedTextView ctv = (CheckedTextView) arg1
.findViewById(android.R.id.text1);
System.out.println("State of check Box= "
+ ctv.isChecked());
if (ctv.isChecked() == true) {
selectedItemsList.add(subCatArrayLlist.get(pos)
.getSubCatSrNo());
Toast.makeText(context, "Cat Selected",
Toast.LENGTH_LONG).show();
}
if (ctv.isChecked() == false) {
selectedItemsList.remove(subCatArrayLlist.get(
pos).getSubCatSrNo());
Toast.makeText(context, "Cat DeSelected",
Toast.LENGTH_LONG).show();
}
}
});