2017-01-23 2 views
0

Ich versuche das Folgende zu erreichen. Meine App wird einige Ansichten haben. Alle Ansichten sind einfache TextViews, die beim Anklicken auf eine andere Aktivität umgeleitet werden. Die letzte Ansicht muss jedoch erweitert werden, um versteckte Ansichten anzuzeigen. Die Unteransichten können weitere Unterkategorien aufweisen. Um es deutlicher zu machen, habe ich ein Bild angehängt, um dieses Detail zu erklären. 1Zusammenklappbare Ansichten

Also hier Ansichten 1 - 3 sind normale Textansichten. Ansicht 4 hat Unterkategorien Unteransicht 4.1 bis 4.3. Diese können weitere Unterkategorien wie 4.1.1, 4.1.2 haben. Auch wenn 4.1 erweitert wird und Benutzer auf 4.2 klickt, um es zu erweitern, sollte 4.1 automatisch zusammenklappen, dann sollte 4.2 erweitert werden. Ich habe versucht, zu diesem Zweck erweiterbare Listenansicht zu kaufen, den Rest meiner Ansichten sind keine Listenelemente. Bitte helfen Sie mir, dies zu erreichen. Momentan verwende ich Text vies und verwende seine Sichtbarkeit, um die Ansichten zu verstecken oder zu zeigen. Das bringt mir nicht das gewünschte Ergebnis. Vielen Dank im Voraus

+0

Sie Listview verwenden können, um dieses perfeclty zu erreichen, sonst müssen Sie view.setVisibility (View.VISIBLE) und view.setVisibility (View.INVISIBLE). –

+0

@shahzainali ListView oder erweiterbar ListView ??? Können Sie mich auf einige Tutorials oder Code-Schnipsel –

Antwort

0

Es ist erweiterbar Listenansicht Sie folgende Tutorial verwenden können http://www.androidhive.info/2013/07/android-expandable-list-view-tutorial/

und mit einer Ausnahme ausgewählt automatisch alle zum Einsturz Verwenden Sie diesen Code

private int lastExpandedPosition = -1; 
private ExpandableListView lv; //your expandable listview 
... 

lv.setOnGroupExpandListener(new OnGroupExpandListener() { 

    @Override 
    public void onGroupExpand(int groupPosition) { 
      if (lastExpandedPosition != -1 
        && groupPosition != lastExpandedPosition) { 
       lv.collapseGroup(lastExpandedPosition); 
      } 
      lastExpandedPosition = groupPosition; 
    } 
}); 

Hoffentlich wird es Ihre Anforderungen erfüllen.

+0

Danke :) Ich werde sicherlich darauf hinblicken –

Verwandte Themen