1
如何获取ExpandableListView中所有选择的项目与乘法选择模式?ExpadableListView获取选定的项目android
adapter = new ExpListAdapter(getActivity(), groups);
expandableListView.setAdapter(adapter);
adapter.setChoiceMode(AbsListView.CHOICE_MODE_MULTIPLE);
expandableListView.setGroupIndicator(null);
expandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
adapter.setClicked(groupPosition, childPosition);
int index = parent.getFlatListPosition(ExpandableListView.getPackedPositionForChild(groupPosition, childPosition));
parent.setItemChecked(index, true);
return true;
}
});
当选择所有项目时,我希望获取它们的ID或值并提交下一个活动的意图。 和转接
public class ExpListAdapter extends BaseExpandableListAdapter {
//////////
public void setClicked(int groupPosition, int childPosition) {
SparseBooleanArray checkedChildPositionsMultiple = checkedPositions.get(groupPosition);
// if in the group there was not any child checked
if (checkedChildPositionsMultiple == null) {
checkedChildPositionsMultiple = new SparseBooleanArray();
// By default, the status of a child is not checked
// So a click will enable it
checkedChildPositionsMultiple.put(childPosition, true);
checkedPositions.put(groupPosition, checkedChildPositionsMultiple);
} else {
boolean oldState = checkedChildPositionsMultiple.get(childPosition);
checkedChildPositionsMultiple.put(childPosition, !oldState);
}
notifyDataSetChanged();
}