Monday 13 February 2017

Android Erweiterbare Listenansicht Group Indicator Forex

Egal, was Sie die Dimensionen des Indikators gesetzt haben, der ListView-Gruppenindikatorcontainer hat eine Übereinstimmung für Höhe und daher wird Ihr Indikator immer gedehnt. Ich bekam diese Arbeit von. (1) Einstellen der Gruppenanzeige auf null (2) Einschließlich meiner benutzerdefinierten Gruppenanzeige im Gruppenlayout. (3) Mit einem groupClickListener, der den Status des Indikators ändert. (2) Mein Kennzeichen im Gruppenlayout enthalten. Die von Satheesh vorgeschlagene Antwort wird funktionieren, aber nur, wenn alle GroupViews die gleiche Höhe haben. Wenn Ihre Gruppen-Layouts sagen, Wrap-Text und wrapcontent für die Höhe, kann die Höhe variieren je nach Ihrem Inhalt und die Polsterung, die Sie eingestellt haben, möglicherweise nicht mehr funktionieren. Ausblenden Gruppe Indikator für leere Gruppen Ein weiteres Thema, das zurückkehrt auf diesem Blog ist die erweiterbare Liste Aussicht. Es scheint, dass diese lästigen erweiterbaren Listen immer einige Überraschungen auf Lager haben. Diesmal lief ich in die Frage der Gruppenindikatoren und leeren Gruppen. Gruppenindikatoren sind die kleinen Pfeile vor den Gruppenzeilen, die angeben, ob die Gruppe erweitert oder zusammengefallen ist. Problem ist, dass diese Indikatoren immer sichtbar sind, auch wenn die Gruppe leer ist. Dies löst Benutzer, die denken, dass sie die Gruppe erweitern können. Die Gruppe dehnt sich zwar aus, aber da sie leer ist, erscheinen keine Kinderzeilen, die extrem ärgerlich sein können. Einige Internet-Quellen schlagen Zauberei mit der Variable ziehbar, dass die Gruppe Indikator zurück. Wenn Sie dem Rat folgen, verschwindet die Gruppenanzeige für alle zusammengeklappten Gruppen (auch für diejenigen, die untergeordnete Zeilen haben). Dieses überraschende Verhalten ist durch Design. Kommentar in der Quelle der ExpandableListView sagt: Wenn die Gruppe zusammengebrochen ist, so betrachten wir es leer aus Performance-Gründen. Die Methode, in der dieses Verhalten verkabelt wird, ist privat, es ist nicht möglich, es durch Subclassing ExpandableListView zu überladen. Glücklicherweise ist die Lösung sehr einfach, auch wenn ein bisschen heikel. Wir werden die Gruppenindikatorlogik in ExpandableListView vollständig deaktivieren und unser eigenes Indikator vom Adapter zur Verfügung stellen, der die erweiterbare Liste unterstützt. Die Gruppenanzeige ist deaktiviert, indem sie auf eine transparente Farbe in main. xml gesetzt wird. Dann überschreiben wir getGroupView im Adapter (diesmal war es ein SimpleExpandableListAdapter aber die Methode funktioniert für jeden Adapter). Wir mussten manuell ein ImageView in das Gruppenlayout einfügen - dies wird normalerweise automatisch von ExpandableListView durchgeführt, aber wir haben gerade diese Funktion deaktiviert. Sobald getGroupView die Gruppenzeile zurückgibt, manipulieren wir die ImageView, die als Gruppenindikator agiert, unter Berücksichtigung der untergeordneten Anzahl für die Gruppe neben ihrem expandierten kollabierten Zustand. Dies bedeutet leider, dass Sie benutzerdefinierte expandedcollapsed Icons in Ihrem Programm haben - die Icons sind extrem hässlich in das Beispielprogramm, lasse ich es Ihnen als Hausaufgaben zu verschönern. 16 Kommentare: I39m ein Community-Führer auf einem Netzwerk von Entwickler-Websites. 160Ich mochte Ihren Bloginhalt wirklich und dachte, Sie könnten an einer zusätzlichen Exposition auf unseren Seiten interessiert sein. 160Send mir eine E-Mail an ross bei dzone dot com und ich kann alle Details erklären. Hey kann mir helfen. Ich bin nicht in der Lage, das Gruppen-Symbol in einer der erweiterbaren Liste zu sehen. Was Milbe wäre das Problem sein. Können Sie dieses Beispiel mit einer XML-Ressource zum Speichern der Gruppen - und unterordneten Daten repost Das würde wirklich helfen, mit der Zusammenstellung von großen Listen. Vielen Dank, eine Tonne. Es klappt. Ein bisschen schwierig, da ich ein Anfänger bin, aber es funktionierte. Vielen Dank. Hallo. Ich habe etwas bemerkt. Wenn eine Gruppe erweitert wird, wird das Maximierungssymbol angezeigt, aber wenn ich mit der Maus oder dem HTC-Suchlauf zu der erweiterten Gruppe blättere, ändert sich das Symbol auf das minimierte Symbol. Dies ist ein großartiges Programm, aber ich kann nicht die zweite Stufe Indikatoren transparent sein. Könnten Sie einige abgeschlossenen Code mit den Korrekturen für die Indikatoren oder vielleicht Post-Snippets, so weiß ich genau, was zu ändern Ich würde es zu schätzen. Anonymous, warum sollten Sie die zweite Stufe Indikatoren transparent sein Ja, würde ich. Transparent oder Null wäre gut, nur can39t herauszufinden, wie es zu tun. Jede Chance, dass der Code aktualisiert wird Es wäre apprecaited Anonymous, ich don39t verstehen Sie Ihr Problem. Dieser Code hat keine zweite Stufe Indikatoren, it39s eine einfache erweiterbare Liste. Was sind diese Indikatoren der zweiten Stufe, die Sie transparent machen wollen Vielleicht ist meine Wortwahl schlecht. I39m auf der Suche nach einer Lösung für Ihren letzten Absatz: quot. Sobald getGroupView die Gruppenzeile zurückgibt, manipulieren wir die ImageView, die als Gruppenindikator fungiert, unter Berücksichtigung der untergeordneten Anzahl für die Gruppe neben ihrem expandierten kollabierten Zustand. Dies bedeutet leider, dass Sie benutzerdefinierte expandedcollapsed Icons in Ihrem Programm haben - die Icons sind extrem hässlich in das Beispielprogramm, ich überlasse es Ihnen als Hausaufgaben zu verschönern them. quot Ich don39t folgen. Sogar nachdem ich den ersten Pfeil transparent mache, kann ich die send group39s Pfeil transparent nicht erhalten. Anonymous, was war das Bild, das Sie transparent resgrouprow. xml verweist auf expandergroup drawable, die ein variables Bild (in resdrawableexpandergroup. xml) ist. Dieses variable Bild forscht zu zwei realen Bildern auf der Grundlage von openclosed state, expandericmaximized. png und expandericminimized. png. Das hat man in der 3-Ebene erweiterbar Liste Beispiel Ich möchte dies für die zweite Ebene zu tun, aber es ist nicht xml für die erweiterbare Liste der 2. Ebene Ricardo, die 2. Ebene erweiterbare Listenansichten werden in ColorExpListAdapter, in erstellt Diese Zeile: DebugExpandableListView dev DebugExpandableListView (Kontext) Der Adapter ist 2 Zeilen nach unten gesetzt. Mihir Trivedi sagte. Es funktioniert für mich danke.


No comments:

Post a Comment