Unter Verwendung des Tutorials Hello, World Gridview, versuche ich, das Bild beim Klicken auf Vollbild zu bringen, anstatt die Position des Bildes im Array anzuzeigen. Da ich mit Android nicht vertraut bin und das ist mein erster Entwicklungsversuch damit, bin ich ratlos. Ich bin jedoch mit Java vertraut, und ich habe versucht, Dinge wie diese zu tun (die nicht offensichtlich funktionieren):
%Vor%Aber die App stürzt ab (force close). Irgendwelche Ideen?
Dies gibt Ihnen einen Fehler, weil Sie es nicht richtig verwenden. Der Parameter sollte auf die Ressourcen-ID des Bildes zeigen (was ein Int ist), z. %Code%. Selbst wenn Sie die richtige Ressourcen-ID angeben würden, würde das, was Sie tun möchten, nicht funktionieren.
Um die richtige Ressourcen-ID zu erhalten, müssten Sie den Adapter der Ansicht aufrufen und die Methode R.id.imageid
verwenden, um die richtige Ressourcen-ID zu erhalten. Wenn Sie in Ihrem ImageAdapter die Methode getItemId(position)
so ändern, dass getItemId()
anstelle von 0 zurückgegeben wird (wie im Google-Beispiel).
Um Ihr Ergebnis zu erzielen, würde ich Ihnen jedoch empfehlen, eine neue Aktivität zu erstellen und das Bild einfach so zu laden.
Zum Beispiel:
%Vor% Wenn Sie eine mThumbsIds[position]
-Layout-Datei erstellen, die nur ein ImageView mit der ID full_image.xml
enthält, sollte Ihre FullScreenImage-Klasse wie folgt aussehen:
Etwas in dieser Richtung sollte gut für Sie funktionieren, mit einigen Feinabstimmungen. Stellen Sie sicher, dass Sie FullScreenImage in Ihrer "fullImage"
-Datei auch als AndroidManifest.xml
hinzufügen.
Hier nehmen Sie die ID der Ansicht, auf die geklickt wurde (übergeben im Argument view
), und verwenden sie, um sich selbst erneut zu suchen:
Das ergibt keinen Sinn, zumal die angeklickte Ansicht anscheinend keine ID hat, was findViewById
dazu bringt, null
zurückzugeben.
Wahrscheinlich möchten Sie stattdessen die ID Ihres ImageView
übergeben: