XML から ListItems を書き込んでいる ListView アダプターがあります。アイテムがチェックされているときにフラグを立て、アイテムがチェックされていないときにフラグを外したい。フラグ値を格納するために配列を使用しています。たとえば、ListView に「赤、青、緑、黄」の 4 つのリスト項目があるとします。赤と緑がチェックされている場合、配列は [1, 0, 1, 0] に更新され、チェックされていない場合は [0, 0, 0, 0] に更新されます。以下は私のコードです。何か間違ったことをしたため、目的の出力が表示されません。誰かがそれを調べて、それを解決するためのより良い方法を提案してもらえますか? ありがとうございました!
ArrayAdapter<String> adapter;
array = getResources().getStringArray(R.array.facilities);
strings1 = new ArrayList(Arrays.asList(array));
TopicSelectionListAdapter topicSelectionListAdapter = new TopicSelectionListAdapter(
second.this, R.layout.listrow, strings1);
listView.setAdapter(topicSelectionListAdapter);
listView.setItemsCanFocus(false);
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
for(int i=0;i<strings1.size();i++){
listView.setItemChecked(i, false);
}
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View view, int position,
long arg3) {
CheckedTextView selectedItem = (CheckedTextView) view;
boolean isChecked = selectedItem.isChecked();
Log.e("TAG","item clicked position = " + position + " isChecked = " + isChecked);
for(int i=0; i< strings1.size(); i++){
if(!isChecked){
bArray[i]= 0;
}
else{
bArray[i]= 1;
}
}
for(int i =0; i < bArray.length; i++){
Log.e("TAG","boolean Array value = " + bArray[i]);
}
}
});