Android-Grid-get Zeile/Spalte
Ich habe ein 3x3-Grid mit den Tasten. Diese Tasten haben eine onTileClicked() listener. Jetzt möchte ich, um die position der Schaltfläche in der Startaufstellung. Hier ist mein code:
public void onTileClicked(View view) {
Button button = (Button) view;
GridLayout.LayoutParams params = (LayoutParams) button.getLayoutParams();
}
Aber wie bekomme ich die Zeile und Spalte des angeklickten button? Es gibt params.columnSpec aber ich weiß nicht, was zu tun mit dieser...
InformationsquelleAutor VoidCatz | 2014-04-18
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es keinen direkten Weg, um die position der Zelle. Sie können jedoch die Berechnung der position des angeklickten Schaltfläche, vorausgesetzt, Sie wissen, die Anzahl der Spalten und Zeilen in der onItemClick-listener:
Danke für deine Antwort AmmarCSE, aber ich löste das broblem nur durch etwas wie dieses:
Dies mag zwar alt sein, aber ich habe auch eine Lösung gesucht und noch nicht gefunden haben.
Ich brauchte mehrere Linien der Schaltfläche je nach Benutzern Wahl für ein Spiel. Mit ID war nicht möglich, da die Anzahl der Drucktasten variieren kann, von 2x2 bis 9x9.
Meine Taste nicht brauchen, um eine Beschriftung, also hier ist was ich getan habe:
Natürlich das wird nicht funktionieren, wenn Sie einen text auf Ihren button. Vielleicht könnten Sie einen tag?
Ich bin vor dem gleichen problem und derzeit die einzige Lösung, macht mich bequem ist es, die Klasse ändern, und fügen Sie, was Informationen, die Sie benötigen.
Mein Beispiel ist
Und nun können wir diese zusätzliche Funktionalität. Wir können auch schreiben die setLayoutParams und integrieren die setPosInGrid() hinein.
Keine änderung von anderen codes erforderlich ist, außer wenn Sie wollen, eine ordentliche Bildansicht verwenden Sie einfach den vollständigen Bezeichner "androi.- widget.Bildansicht".