Ich verwende ExpandableListView
mit "groups" und "childs" -Elementen. Ist es möglich, die Erweiterung einiger Gruppenelemets zu deaktivieren? Muss ich etwas Code in Adapter ändern oder sollte ich override
onclick
Methode?Wie können Sie Elemente in der erweiterbaren Listenansicht deaktivieren?
2
A
Antwort
1
Verwenden setOnGroupClickListener
auf Listenansicht und Rück true
auf der Position, die Sie aufgewandt deaktivieren wollen
dies deaktivieren das erste Element zu sein verausgabte
expListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView expandableListView, View view, int i, long l) {
if (i==0){
return true;
}
return false;
}
});
1
Rufen Sie .setClickable (false) für die Gruppenköpfe auf, die nicht beim Klicken ausgelöst werden sollen. Ihr Adapter erhält einen Anruf an getGroupView
. Diese Methode gibt die Ansicht zurück, die als Gruppenkopf angezeigt wird. Wenn Sie diese Ansicht klickbare nicht wollen, rufen Sie .setClickable(false)
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater li = LayoutInflater.from(activity);
convertView = li.inflate(<<your header item>>, null);
}
if (isLastGroup)
convertView.setClickable(false);
return convertView;
}
Verwandte Themen
- 1. Wie können Sie Elemente in einer Listenansicht deaktivieren?
- 2. Markieren Sie alle ausgewählten Elemente in einer erweiterbaren Listenansicht
- 3. Kontrollkästchen in erweiterbaren Listenansicht
- 4. Problem mit erweiterbaren Listenansicht
- 5. Blockerweiterung der erweiterbaren Listenansicht bei langem Klick
- 6. Wie Elemente in einer bestimmten Reihenfolge in der erweiterbaren Listenansicht Android angezeigt werden?
- 7. Android Datenbindung in einem erweiterbaren Listenansicht
- 8. Gruppenindikator kommt nicht in der rechten Seite der erweiterbaren Listenansicht
- 9. Die ausgewählten Elemente in der Listenansicht können nicht angezeigt werden
- 10. Deaktivieren Sie alle Listenansicht-Kontrollkästchen
- 11. Wie können einige Elemente einer Listenansicht nicht angeklickt werden?
- 12. wie können angepasste Listenansicht
- 13. So fügen Sie eine statische Zeile in der erweiterbaren Listenansicht hinzu
- 14. So bearbeiten Sie Elemente in einer Listenansicht
- 15. So rufen Sie die Aktivität für das übergeordnete Element in der erweiterbaren Listenansicht auf
- 16. Duplizierte Elemente aktualisieren In der Listenansicht
- 17. Wie markierte Elemente in der Navigationsansicht deaktivieren?
- 18. So deaktivieren/deaktivieren Sie einige der GtkMenu-Elemente
- 19. Wie das bestimmte Listenelement in Listenansicht in Android deaktivieren?
- 20. Wie können Sie Elemente aus der benutzerdefinierten Listenansicht entfernen, ohne sie aus der mysql-Datenbank zu löschen?
- 21. So behalten Sie eine untergeordnete Auswahl nach dem Minimieren der erweiterbaren Listenansicht bei
- 22. Videogalerie mit erweiterbaren Listenansicht übergeordneten horizontalen scrollview Kind
- 23. C#: Wie bearbeiten Sie Elemente und Unterelemente in einer Listenansicht?
- 24. Wie erhalten Sie die Elemente und Unterelemente in einer Listenansicht?
- 25. App wird zufällig beim Scrollen von erweiterbaren Listenansicht abgestürzt
- 26. deaktivieren klicken und graut Listenansicht Artikel [Android]
- 27. Wie füge ich verschiedene Kinder in jedem Abschnitt einer erweiterbaren Listenansicht in Android?
- 28. Wie man Listenansicht wie Listenansicht erstellt Twitter
- 29. Ändern Sie die Höhe und Farbe der Listenansicht Elemente? (Android)
- 30. Wie ordne ich diese Liste von Objekten einer erweiterbaren Listenansicht zu?
können Sie einfach '.setClickbale()' auf anzeigen –
@ndeokar Vielen Dank für Ihre Antwort. Aber ich möchte nicht alle Gruppen-Elemente deaktivieren, aber ich möchte einige davon deaktivieren – MrStuff88
logisch, wenn Sie Klicks von Gruppenelementen deaktivieren, was bedeutet, dass Sie keine untergeordneten Elemente anzeigen möchten? korrigiere mich, wenn ich falsch liege. Sie können onclick überschreiben und dann einschränken, wie Sie erwähnt haben. –