Knito
Commander
- Registriert
- Sep. 2010
- Beiträge
- 2.330
Hallo,
ich hangle mich grad als Java-Anfänger durch einige Tutorials und habe schon eine funktionierende ExpandableListView.
Ich möchte alle Gruppen schließen bis auf die aktuell geöffnete.
Ich habe verschiedene Beispiele ausprobiert, alle funktionieren gleich gut und enden mit dem selben Problem:
Wenn ich eine der geschlossenen Gruppen wieder öffnen möchte, schließt sich die App:
java.lang.IndexOutOfBoundsException: Index: 1, Size: 0
at java.util.ArrayList.add(ArrayList.java:483)
at android.widget.ExpandableListConnector.expandGroup(ExpandableListConnector.java:685)
at android.widget.ExpandableListView.handleItemClick(ExpandableListView.java:708)
at android.widget.ExpandableListView.performItemClick(ExpandableListView.java:668)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3228)
at android.widget.AbsListView$3.run(AbsListView.java:4204)
at android.os.Handler.handleCallback(Handler.java:891)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:7470)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:958)
GRUPPEN-LISTENER
Ich bin für alle Ideen dankbar.
Meine ausprobierten Beispiele von:
https://stackoverflow.com/questions...selected-group-in-expandable-listview-android
Mein ausprobiertes Tutorial: https://abhiandroid.com/ui/expandablelistview
CHILD-LISTENER
Im Child-Listener funtkioniert es tadellos. Aber leider erst wenn man ein Child klickt.
ich hangle mich grad als Java-Anfänger durch einige Tutorials und habe schon eine funktionierende ExpandableListView.
Ich möchte alle Gruppen schließen bis auf die aktuell geöffnete.
Ich habe verschiedene Beispiele ausprobiert, alle funktionieren gleich gut und enden mit dem selben Problem:
Wenn ich eine der geschlossenen Gruppen wieder öffnen möchte, schließt sich die App:
java.lang.IndexOutOfBoundsException: Index: 1, Size: 0
at java.util.ArrayList.add(ArrayList.java:483)
at android.widget.ExpandableListConnector.expandGroup(ExpandableListConnector.java:685)
at android.widget.ExpandableListView.handleItemClick(ExpandableListView.java:708)
at android.widget.ExpandableListView.performItemClick(ExpandableListView.java:668)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3228)
at android.widget.AbsListView$3.run(AbsListView.java:4204)
at android.os.Handler.handleCallback(Handler.java:891)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:7470)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:958)
GRUPPEN-LISTENER
Java:
// setOnGroupClickListener listener for group heading click
simpleExpandableListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
Log.d(String.valueOf(listAdapter.getGroupCount()),"xxxxxxxxxxxxxxxxxx");
Log.d(String.valueOf(groupPosition),"yyyyyyyyyyyyyyyy");
for (int g = 0; g < listAdapter.getGroupCount(); g++) {
if (g != groupPosition) {
simpleExpandableListView.collapseGroup(g);
}
}
return false;
}
});
Ich bin für alle Ideen dankbar.
Meine ausprobierten Beispiele von:
https://stackoverflow.com/questions...selected-group-in-expandable-listview-android
Mein ausprobiertes Tutorial: https://abhiandroid.com/ui/expandablelistview
CHILD-LISTENER
Java:
// setOnChildClickListener listener for child row click
simpleExpandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
//get the group header
GroupInfo headerInfo = deptList.get(groupPosition);
//get the child info
ChildInfo detailInfo = headerInfo.getProductList().get(childPosition);
for (int g = 0; g < listAdapter.getGroupCount(); g++) {
if (g != groupPosition) {
simpleExpandableListView.collapseGroup(g);
}
}
TextView myTextView = (TextView)findViewById(R.id.ausgabeWerte);
myTextView.setText(headerInfo.getName() + "\n" + detailInfo.getFarbe() + "\n" + detailInfo.getRezept());
return false;
}
});
Im Child-Listener funtkioniert es tadellos. Aber leider erst wenn man ein Child klickt.
Zuletzt bearbeitet: