hat jemand eine kurze Anleitung, wie man ein Image durch Button klick in einer ImageView ändern kann.

  • Antworten:8
  • Bentwortet
Joachim Matthias Harksen
  • Forum-Beiträge: 15

09.10.2014, 01:15:31 via Website

Hallo Leute,

hat jemand eventuell ein Tutorial englisch oder deutsch, wo erklärt wird, wie man das bestehende Image in einer ImageView, mit einem Button ändern kann. Ich komme im Moment einfach nicht weiter. Ich habe in drawable mehrere Bilder .png gespeichert, die ich jeweils mit einem Button Klick aufrufen will. Irgendwie finde ich keine Tutorials, die diese wohl an sich einfache Sache erklären. Zumindest so, dass ich das was ich brauche davon ableiten könnte. Ich hab es bislang mit Google, Youtube und etlichen Foren versucht. Irgendwie ist nichts brauchbares dabei. Ist das den wirklich so schwierig? Oder bin ich einfach auf dem falschen Weg? Für Hilfe oder auch Denk Anstöße wäre ich euch wie immer sehr dankbar. Für die Weiterschaltung der Bilder wird es wohl eine if/else Verzweigung werden. Es geht mir erst mal nur um das, was im OnClickListener stehen muss. Ach so, was passiert, ist im Moment, wenn man den Button drückt verschwindet das Bild.

unten mal ein Ansatz, wie ich ihn mir vorstelle, aber einfach nicht weiterkomme. Bilder sind in Drawable und als Bsp. Auto.png

mit freundlichem Gruß

Joachim

------------------------------------------------------------------------------------------------------------------------------------------------------------------------
anz1 = (TextView) findViewById(R.id.anz1);
btn1 = (Button) findViewById(R.id.btn1);
ImageView2 = (ImageView) findViewById(R.id.imageView2);

    btn1.setOnClickListener(new View.OnClickListener() {




        @Override
        public void onClick(View v) {

            // TODO Auto-generated method stub

            ImageView2.setImageBitmap(BitmapFactory.decodeFile("drawable/Bild.png"));

— geändert am 09.10.2014, 08:35:03

Antworten
Andy N.
  • Forum-Beiträge: 22.375

09.10.2014, 06:13:19 via Website

Hallo Joachim,

Ich habe deinen Thread mal in die passendere Kategorie verschoben ;)

Viele Grüße,
Andy


OnePlus 3 (Resurrection Remix 5.8.2)
LG G Watch

Regeln | unsere Mods & Admins

Antworten
Joachim Matthias Harksen
  • Forum-Beiträge: 15

09.10.2014, 08:33:00 via Website

Entschuldige,

danke dir.

Gruß

Joachim

Antworten
Joachim Matthias Harksen
  • Forum-Beiträge: 15

09.10.2014, 16:44:31 via Website

Hi Pascal,

danke für den Tip, werd ich nachher direkt mal probieren.

LG

Joachim

Antworten
Joachim Matthias Harksen
  • Forum-Beiträge: 15

09.10.2014, 21:19:55 via Website

Hi Pascal und Gemeinde,

Ich hab es bis jetzt so, in der Catlog kommt keine Fehler Meldung die App startet auch auf dem Handy, aber wenn man den Button klickt passiert leider nur dass sich die App aufhängt. Irgendwas ist noch nicht richtig. Hat noch jemand eine Idee, oder ein funktionierendes Bsp. das man ableiten könnte. Vielen Dank im Vorraus für die Hilfe.

hier der modifizierte Code, der aber leider noch nichts tut. Wie gesagt, ich möchte, dass wenn ich den Button Klicke in der ImageView2 ein neues Image .png aus drawable aufgerufen und angezeigt wird.

Button1 = (Button) findViewById(R.id.button1);
TextView1 = (TextView) findViewById(R.id.textView1);
TextView2 = (TextView) findViewById(R.id.textView2);
ImageView2 = (ImageView) findViewById(R.id.imageView2);

    Button1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub



            String uri = "@drawable/Auto.png";

            int imageResource = getResources().getIdentifier(uri, null, getPackageName());

            ImageView2= (ImageView)findViewById(R.id.imageView2);
            Drawable res = getResources().getDrawable(imageResource);
            ImageView2.setImageDrawable(res);

— geändert am 09.10.2014, 21:21:02

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

09.10.2014, 21:22:59 via App

Was kommt denn für ein Fehler im LogCat?

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Joachim Matthias Harksen
  • Forum-Beiträge: 15

09.10.2014, 21:38:48 via Website

hier mal die LogCat

[2014-10-09 21:34:28 - Emulator] could not get wglGetExtensionsStringARB
[2014-10-09 21:34:28 - Emulator] could not get wglGetExtensionsStringARB
[2014-10-09 21:34:28 - TarotTagesKartenAnzeige] New emulator found: emulator-5554
[2014-10-09 21:34:28 - TarotTagesKartenAnzeige] Waiting for HOME ('android.process.acore') to be launched...
[2014-10-09 21:34:32 - TarotTagesKartenAnzeige] emulator-5554 disconnected! Cancelling 'de.joachim.tarottageskartenanzeige.MainActivity activity launch'!

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Wie gesagt, die App lässt sich auf dem Handy problemlos starten, stürzt aber ab, sobald der Button geklickt wird. Soviel kann eigentlich nicht mehr falsch sein oder?

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

hab inzwischen auch die Variable deklariert, hatte ich vergessen. die Variable heisst jetzt Zähler. ist auf 0 gesetzt.

Button Button1;
TextView TextView1,TextView2;
ImageView ImageView2;
int zaehler;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    zaehler = 0;
    Button1 = (Button) findViewById(R.id.button1);
    TextView1 = (TextView) findViewById(R.id.textView1);
    TextView2 = (TextView) findViewById(R.id.textView2);
    ImageView2 = (ImageView) findViewById(R.id.imageView2);

    Button1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub



            String uri = "@drawable/Eremit.png";

            int zaehler = getResources().getIdentifier(uri, null, getPackageName());

            ImageView2= (ImageView)findViewById(R.id.imageView2);
            Drawable res = getResources().getDrawable(zaehler);
            ImageView2.setImageDrawable(res);

— geändert am 09.10.2014, 21:43:52

Antworten
Joachim Matthias Harksen
  • Forum-Beiträge: 15

10.10.2014, 00:37:23 via Website

Hallo Pascal,

ich hab die Lösung für mein Problem gefunden. Ich musste aber noch die Bilder reduzieren und wichtig wohl bei den Namen auf die Kleinschreibung achten. Danke für deine Hilfe auf jeden Fall

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Button1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {


            Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.sonne2);
            ImageView ImageView2 = (ImageView) findViewById(R.id.imageView2);
            ImageView2.setImageBitmap(bmp);;

— geändert am 10.10.2014, 00:43:58

Antworten