Ich habe eine Aktivität, wo eine Reihe von Schaltflächen in TableLayout, im Gegensatz zu einer Wähltastatur platziert sind. Während einiger Operationen muss ich die Tasten vorübergehend deaktivieren. Zu meiner unangenehmen Überraschung macht TableLayout.setEnabled(false)
keinen Effekt auf die verschachtelten Buttons. Bin ich dabei, jeden einzelnen Button zu setzen oder gibt es einen (besseren) Weg, das gleiche zu erreichen?Android: Massen aktivieren/deaktivieren Schaltflächen
Antwort
Ich würde versuchen, so etwas zu tun:
TableLayout tableLayoutInstance; // let's suppouse you have already initialized it
// blablabla
// example to deactivate all buttons
ArrayList<View> touchables = tableLayoutInstance.getTouchables();
for(View touchable : touchables){
if(touchable instanceof Button)
((Button)touchable).setEnabled(false);
}
Ich denke, Sie müssen jede einzelne dieser Schaltflächen deaktiviert festlegen. Um es ein wenig schöner aussehen zu lassen, können Sie alle Schaltflächen in eine Liste einfügen und beim Aktivieren und Deaktivieren über diese Schaltflächen hinweg iterieren. Aber das hindert Sie nicht daran, sie alle einmal in Ihrem Code zu finden.
Zumindest kann ich eine benutzerdefinierte Schaltfläche erstellen, die auf bestimmte Ereignisse abhört und basierend darauf aktiviert/deaktiviert. Ich versuche nur, faul zu sein, bevor ich diesen Weg gehe :) – Bostone
Da die Tasten unter einem Tablelayout verschachtelt sind, sollte es leicht sein, über die Kinder zu durchlaufen und jeweils eins gesetzt. Ich weiß nicht, ob es einen leichteren Weg gibt.
- 1. Android-Titel-Schaltflächen
- 2. Android Dialogfeld ohne Schaltflächen
- 3. Entity Framework 'Massen' Finden
- 4. Effektive Massen-URL-Weiterleitung
- 5. Massen löschen unbeliebt Schlagwörter
- 6. Schnellere/Massen-ActiveRecord-Erstellung
- 7. Array von Schaltflächen im Android
- 8. setContentView und Schaltflächen im Android
- 9. Android benutzerdefinierte Schaltflächen berühren Ereignis
- 10. Senden von Massen-E-Mail
- 11. Massen-E-Mails mit Excel
- 12. Mixpanel - Massen löschen alte Benutzer
- 13. Massen-E-Mail-Kampagnen verfolgen
- 14. C# Massen-E-Mail senden
- 15. Mitgliedschaft Massen-E-Mail-Software
- 16. SSRS-Abonnementspeicherpfad in Massen ändern
- 17. Android-Rand zwischen den Schaltflächen im Rasterlayout
- 18. Erstellen von Schaltflächen auf Leinwand in Android
- 19. android: Schaltflächen Hintergrundfarbe Problem, brauchen Aufmerksamkeit
- 20. Wie AlertDialog benutzerdefinierte Schaltflächen Android machen?
- 21. Android-Managging Monitore Parallelität mit Schaltflächen
- 22. Gemeinsames Thema für alle Schaltflächen in Android
- 23. Wie erstelle ich Hilfe-Schaltflächen in Android?
- 24. Android: programmatisch Hinzufügen von Schaltflächen zur Benachrichtigung
- 25. Hinzufügen von Schaltflächen zu android Aktionsleiste
- 26. Dynamisch Hinzufügen von Schaltflächen in Android-Programm
- 27. Dynamisch Schaltflächen in einem ListView erstellen [Android]
- 28. 9 Patch-Schaltflächen mit Bild Android
- 29. Erstellen von Schaltflächen mit Schaltflächen
- 30. Vermeiden Sie, von Web-Mail-Unternehmen für Massen-/Massen-E-Mails blockiert zu werden?
Nicht ideal, aber unter meinen Umständen akzeptabel (und kurz genug). Vielen Dank! – Bostone
((Schaltfläche) berührbar) .setEnabled (false); –