我可以在“可扩展”视图中获取选中的复选框值。现在我想再次自动选中这些复选框,如果它们的值存在于数组中。
我点击复选框值作为对(groipId,childId)。因此,当用户单击编辑时,我希望这些复选框自动选择。我的所有数据都来自某些API。
这是获取选择框值的代码。
final CheckBox cb = (CheckBox) convertView.findViewById(R.id.childCkBox);
// add tag to remember groupId/childId
final Pair<Long, Long> tag = new Pair<Long, Long>(
getGroupId(groupPosition),
getChildId(groupPosition, childPosition));
cb.setTag(tag);
// set checked if groupId/childId in checked items
cb.setChecked(mCheckedItems.contains(tag));
// set OnClickListener to handle checked switches
cb.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
final CheckBox cb = (CheckBox) v;
final Pair<Long, Long> tag = (Pair<Long, Long>) v.getTag();
if (cb.isChecked()) {
mCheckedItems.add(tag);
} else {
mCheckedItems.remove(tag);
}
}
});
txtListChild.setText(childText);
public Set<Pair<Long, Long>> getCheckedItems() {
return mCheckedItems;
}
欢迎编辑和建议。
编辑1:我将选中的复选框值存储到服务器。因此,当我编辑它们时,我可以使用以前的值pre select
以前选择的框。