Bilder an mehrere Fenster der App setzen

  • hallo alle android freunde.
    ich habe eine frage.
    ich habe im Ordner drawable mehrere Bilder. Diese Bilder habe ich auf ImageButtons gepackt. Jetzt habe ich mehrere xml seiten mit ImageViews auf den die Bilder sein sollen. Die xml Seiten sind alle unterschiedlich aufgebaut und für unterschiedliche Zwecke gedacht.
    Wie kann ich es so machen, dass beim klicken eines bestimmten ImageButtons, das Bild welches auf diesem Imagebutton ist, in allen Fenstern der App erscheint ?


    Z.b die App hat insgesamt 6 Seiten. Wenn man beim Starten der App auf Button mit Mickey Mouse klickt, dann erscheint das BIld von Mickey Mouse in auf jedem Fenster der App.


    MfG.

  • Hi,


    das sollte m.E. recht einfach gehen - oder ich hab die Frage falsch verstanden ...


    Du brauchst Variablen, welche die ImageViews und der Bitmaps halten


    ImageView imageViewPage1, ..., imageViewPageX; // hier sind natürlich auch sprechende Namen zu bevorzugen
    Bitmap bitmap1, ..., bitmapX;


    in der onCreate Methode der Activity weist Du diesen die jeweiligen ImageViews und Bitmaps zu


    imageViewPage1 = (Button) findViewById(R.id.nameDeinerErstenImageView);
    ... u.s.w. für alle Seiten
    bitmap1 = BitmapFactory.decodeResource(getResources (), R.drawable.deinImageSeite1);
    ... u.s.w. für alle Bilder


    und in onClick für Button 1
    imageViewPage1.setImageBitmap (bitmap1);
    ...
    imageViewPageX.setImageBitmap (bitmap1);


    und onClick Button X
    imageViewPage1.setImageBitmap (bitmapX);
    ...
    imageViewPageX.setImageBitmap (bitmapX);

  • hmm irgendwas klappt da nicht.
    die Erste Seite mit den beiden Buttons wird angezeigt. Beim klicken auf Buton, stürzt die App ab.

  • Oh - die Views sind in unterschiedlichen Activities, dann geht's so nicht, weil findViewById null zurückgibt, wenn diese View nicht in der aktuellen Activity ist.
    Dann hast Du Recht, dass die Bilder via Intent.putExtra übergeben werden. Hier reicht aber auch, die Ressource-ID (Integer Wert) zu übergeben und bei der Empfänger-Activity dann mittels dieser ID die passende Bitmap zu laden und der ImageView zuzuordnen.
    also intent.putExtra ("aktuellesbild", R.id.aktuellesImage)
    und in der aufgerufenen Activity in onCreate mit saveInstanceState.getInt("aktuellesbild", R.id.defaultbild) auszulesen umt mit dieser ID die Bitmap laden und der View zuzuweisen.
    Theoretisch zumindest - praktisch probiert habe ich das auch noch nicht.

  • hmm,
    ich habe das Thema auch in android-hilfe gepostet. da wurde mir die Idee mit LayoutInflater vorgeschlagen. Bin aber noch nicht wirklich schlau geworden. Ich kann natürlich die Fenster wo die Bilder sein sollen erstmal als Dialogen anzeigen lassen. dann kann ich die Bilder mit BaseAdapter an die Imageviews übergeben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!