android-erhalten Sie position der angeklickten Element in der gridview
wie wir wissen, mit android-grid-Ansicht können wir tun, die folgenden und erhalten eine Nachricht, wenn angeklickt wird:
gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Toast.makeText(PopularCapitActivity.this, "" + position, Toast.LENGTH_SHORT).show();
}
});
wir wissen auch, dass, wenn die Zelle im raster enthält ein klickbares Element, beispielsweise eine Schaltfläche, die oben nicht gefeuert.
also derzeit habe ich eine grid-Ansicht, jede Zelle hat Ihre eigene Taste, so dass jetzt, wenn Benutzer klickt auf den button, es wird haben sein eigenes handeln auf der Grundlage der Zelle der button befindet, meine Frage ist, wie kann ich auf die Zelle position im button-handler?
Dank
- Verwenden Sie einen benutzerdefinierten adapter für GridView?
- ja, ich habe eine benutzerdefinierte einfach nur die Erweiterung des BaseListAdapter
InformationsquelleAutor user1697965 | 2012-10-04
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt, Sie verwenden eine benutzerdefinierte adapter für das GridVIew, in der getView-Methode können Sie einfach fügen Sie einen tag, um das Button-Objekt, enthält die position übergeben in getView:
Dann in der Methode onClickListener, mit dem Blick, der übergeben wird (die Taste), die Sie tun können:
Und dann mit dem Positionswert von es.
EDIT:
Es scheint, dass die beste Praxis wäre zu tun:
anstatt mit der Integer-Konstruktor.
Integer.valueOf(position)
ist nicht erforderlich, einfach vorbeikommenposition
wird auch funktionieren.