Ich werde das einfach halten. Ich möchte ein ImageView
in einem AlertDialog
auf ein Bild in einem Array von Drawables
setzen. Das Bild, das ich auf ImageView
setzen möchte, kann durch Zugriff auf die mImages [Position] abgerufen werden.Set Bildansicht von Array-Referenz?
Hier ist eine kurze Erklärung (vollständige Erklärung unten): In Kurz brauche ich einen Weg, um ein Bild von meiner Haupttätigkeit zu einem Dialog auf dann dismiss
und auf den Dialog Abbrechen passieren bestätigen setzt das System Tapete (auf die Bild von der Hauptaktivität übergeben) dann finish();
die Aktivität.
Hier ist eine vollständige Erklärung:
Der Benutzer mit einem Gallery
und einem ImageView
über die Gallery
präsentiert wird, die eine größere Vorschau des Bildes zeigt, die in den Gallery
Fokus hat.
Die angezeigten Bilder im Gallery
sind Setup mit:
// setup wallpaper array
private void findWallpapers() {
mThumbs = new ArrayList<Integer>(24);
mImages = new ArrayList<Integer>(24);
final Resources resources = getResources();
final String packageName = getApplication().getPackageName();
addWallpapers(resources, packageName, R.array.wallpapers);
}
// setup array defining all wallpapers & define thumbnails
private void addWallpapers(Resources resources, String packageName, int list) {
final String[] extras = resources.getStringArray(list);
for (String extra : extras) {
int res = resources.getIdentifier(extra, "drawable", packageName);
if (res != 0) {
final int thumbRes = resources.getIdentifier(extra + "_small",
"drawable", packageName);
if (thumbRes != 0) {
mThumbs.add(thumbRes);
mImages.add(res);
}
}
}
}
Nach „Wallpaper Set“ Button
gedrückt wird, ein AlertDialog
sollte mit einer anderen Vorschau des Bildes öffnen, die in den Gallery
konzentrieren mußten. Die AlertDialog
enthält eine TextView
mit Anweisungen, die Vorschau des Bildes, das wir als Hintergrundbild festlegen möchten, ein "Okay" Button
und ein "Abbrechen" Button
. Drücken Sie auf "Okay" Button
wird das Bild aus der ImageView
Vorschau als System Hintergrundbild über eine InputStream
.
Danke nochmal!
sind Sie immer noch vor dem Problem –
Ja, die erste Lösung hat das Problem nicht gelöst. Ich werde meine Frage bearbeiten, um mein Problem besser zu erklären. – user1291949