私は BaseExpandableListAdapter クラスを持っており、 getChildView() は数行しか返さなければなりません。ただし、もちろん null を返すとアプリがクラッシュし、可視性を GONE に設定するとリストに空白が作成されます。
そのため、ユーザーには各行にチェックボックスがあり、次にリストを開いたときにチェックボックスがオンになっていると、表示されません (ArrayAdapter から削除されたようですが、それはできません)。
良いオプションはありますか?
編集
@Override
public int getChildrenCount(int groupPosition) {
int childrenCount = categories.get(groupPosition).size();
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);
/** If the user wants to remove the completed items */
if (settings.getBoolean("deleteCompletedItemsPref", false) == true) {
for (int childPosition=0; childPosition<childrenCount; childPosition++) {
if (categories.get(groupPosition).getItem(childPosition).isChecked()) {
parent.removeViewAt(childPosition);
}
}
}
return childrenCount;
}
ここでグループの子を実行し、不要なビューを削除しようとしますが、AdapterView であるため、ここでビューを削除することはできません。