Bilder durch Klick wechseln

  • Bilder durch Klick wechseln

    Guten Abend.

    Problem:

    App Startet: (Bild: Lampe aus)
    Button An wird gedrückt: (Bild: Lampe An)
    Button Blau wird gedrückt: (Bild: Lampe Blau)
    Button Aus wird gedrückt: (Bild: Lampe Aus), nachMöglichkeit automatisch raus aus der Activity.

    Bis jetzt komme ich zum Button A, danach stürzt die App ab.

    @Override
    public void onClick(View v) {


    int var = v.getId();
    if (war == R.id.Button An) {
    textView.setImageResource(R.drawable.Lampe An);

    }
    else if (war == R.id.Button Blau) {
    textView.setImageResource(R.drawable.Lampe Blau);

    }
    else if (war == R.id.Button Aus) {
    textView.setImageResource(R.drawable.Lampe Aus);
    finish();

    }
    }


    Wenn es geht, bitte den Code. Bin noch weit von entfernt, die Dev.Seite für mich richtig zu entziffern.

    LG Beginndruide





    edit:_________________________________________________________________________________________________________________________

    Mitte : ausgabeFenster
    Untern in Reihe: (ImageView als Button) ganzerApfel, einmalApfel, zweimalApfel
    Aufruf Activity: ausgabeFenster - ganzerApfel



    ImageView ganzerApfel, einmalApfel, zweimalApfel, ausgabeFenster;

    ganzerApfel = (ImageView) findViewById (R.id.ganzerApfel);
    einmalApfel = (ImageView) findViewById (R.id.einmalApfel);
    zweimalApfel = (ImageView) findViewById (R.id.zweimalApfel);
    ausgabeFenster = (ImageView) findViewById (R.id.ausgabeFenster);


    ganzerApfel.setOnClicklistener (new View.OnClickListener() {
    @Override
    public void onClick (View v){
    ImageView ganz = (ImageView) findViewById(R.id.ausgabeFenster);
    ganz.setImageResource(R.drawable.ganzerApfel);
    }
    });

    einmalApfel.setOnClicklistener (new View.OnClickListener() {
    @Override
    public void onClick (View v){
    ImageView einmal = (ImageView) findViewById(R.id.ausgabeFenster);
    einmal.setImageResource(R.drawable.einmalApfel);
    }
    });

    zweimalApfel.setOnClicklistener (new View.OnClickListener() {
    @Override
    public void onClick (View v){
    ImageView zweimal = (ImageView) findViewById(R.id.ausgabeFenster);
    zweimal.setImageResource(R.drawable.zweimalApfel);
    }
    });

    ganzerApfel.setOnClicklistener (new View.OnClickListener() {
    @Override
    public void onClick (View v){
    finish();
    }
    });

    funktioniert.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Beginndroide ()

  • Hallo,

    kurz zu mir:
    • Anfänger, habe mir Android Studio vor zwei Wochen geladen.
    • Programmierkenntnisse: keine.
    • Ziele: mit den Aufgaben wachsen.


    Die letzten Tage schrieb ich eine App zusammen, welche alles gelernte bündeln soll, also mein Erfahrungsbaum praktisch
    (Video: youtube.com/watch?v=FOH_JCNpH7o&feature=youtu.be). Neben vielen Tutorials baute ich paar einfache nach. Ebenso lese ich mich in die Dev. Bibliothek rein und neben dem Programm "setOnClickListener" ist das Programm „Transition Drawable“ das erste selbstgeschriebene Programm.

    Nun zu den Programmen der Reihe nach:

    Thema „setOnClickListener“ (Es soll nur die Guyman-Seite besprochen werden, für Thomas habe ich eine Wischgeste gedacht.):
    Ich experimentierte erst mit Bitmap, jedoch ohne Ergebnisse.
    - Resources res = getResources();
    - Drawable drawable = res.getDrawable(R.drawable.myimage);
    brache eine Fehlermeldung, dass get.Drawable obsolet sei, da kam ich nicht weiter. Darum machte ich es so:



    ____________________________________________________________________________________________________Programmcode setOnClickListener
    package de.maxmusterman.androidbibliothek;
    import android.content.Intent;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.ImageView;

    public class MainActivity_3020 extends AppCompatActivity {
    /**-------------------------------------------------------------------------setOnClickListener - Guyman Anzeigefeld*/
    ImageView guyman_of_3020, guyman_on_3020, guyman_smile_3020, guyman_love_3020,
    guyman_music_3020, display_3020;
    Button btn_3020;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_3020);
    /**-----------------------------------------------------------------------------------------------------------------------*/
    guyman_love_3020 = (ImageView)findViewById(R.id.guyman_love_3020);
    guyman_music_3020 = (ImageView)findViewById(R.id.guyman_music_3020);
    guyman_smile_3020 = (ImageView)findViewById(R.id.guyman_smile_3020);
    guyman_of_3020 = (ImageView)findViewById(R.id.guyman_of_3020);
    guyman_on_3020 = (ImageView)findViewById(R.id.guyman_on_3020);
    display_3020 = (ImageView)findViewById(R.id.display_3020);
    /**----------------------------------------------------------------------------------------------------Activity-Wechsel*/
    btn_3020 = (Button)findViewById(R.id.btn_3020);
    btn_3020.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    Intent intent = new Intent(MainActivity_3020.this, MainActivity_3021.class);
    startActivity(intent);
    onStop();
    }
    });
    /**-------------------------------------------------------------------------------------------------------------------Klick*/
    guyman_on_3020.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    ImageView on = (ImageView)findViewById(R.id.display_3020);
    on.setImageResource(R.drawable.guyman_on);
    }
    });
    guyman_smile_3020.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    ImageView smile = (ImageView)findViewById(R.id.display_3020);
    smile.setImageResource(R.drawable.guyman_smile);
    }
    });
    guyman_love_3020.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    ImageView love = (ImageView)findViewById(R.id.display_3020);
    love.setImageResource(R.drawable.guyman_love);
    }
    });
    guyman_music_3020.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    ImageView music = (ImageView)findViewById(R.id.display_3020);
    music.setImageResource(R.drawable.guyman_music);
    }
    });
    guyman_of_3020.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    ImageView of = (ImageView)findViewById(R.id.display_3020);
    of.setImageResource(R.drawable.guyman_of);
    }
    });
    }
    }

    ____________________________________________________________________________________________________________Fragen zum Programm


    - ist es so in Ordnung?
    - was ist verbesserungswürdig?
    - wie bekommt man saubere, profisionelle Wechsel zwischen den Activities hin?



    ____________________________________________________________________________________________________Programmcode Transition Drawable

    package de.maxmusterman.androidbibliothek;
    import android.content.Intent;
    import android.graphics.drawable.TransitionDrawable;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.support.v7.widget.Toolbar;
    import android.view.View;
    import android.widget.Button;
    import android.widget.ImageView;

    public class MainActivity_2000 extends AppCompatActivity {
    /** -----------------------------------------------------------------------------------------Transition Drawable*/
    Toolbar toolbar_2000;
    ImageView imageView_2000;
    Button btn_2000;
    /**-------------------------------------------------------------------------------------------------------------------*/
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_2000);
    /**---------------------------------------------------------------------------------------------------------------*/
    toolbar_2000 = (Toolbar) findViewById(R.id.toolbar_2000);
    Bundle bundle = getIntent().getExtras();
    if (bundle != null) {
    toolbar_2000.setTitle(bundle.getString(""));
    }
    /**--------------------------------------------------------------------------------------------Activity Wechsel*/
    imageView_2000 = (ImageView)findViewById(R.id.imageView_2000);
    btn_2000 = (Button)findViewById(R.id.btn_2000);
    btn_2000.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    Intent intent = new Intent(MainActivity_2000.this, MainActivity_2001.class);
    startActivity(intent);
    finish();
    }
    });/**--------------------------------------------------------------------------------------------------------Klick*/
    /** Die Feinheit liegt darin:
    * - erstelle eine transitions.xml in dem drawable Ordner
    * - <transition></transition>
    * - erstelle zwei items (dabei gilt, erste zwei werden darin eingebunden)
    * - das Bild an erster Stelle in der transitions.xml ist das Startbild
    *
    * - <ImageView>
    * android:src="@drawable/transitions"
    * </ImageView>
    * */
    imageView_2000.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    TransitionDrawable drawable = (TransitionDrawable) imageView_2000.getDrawable();
    drawable.startTransition(500);
    }
    });
    imageView_2000.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    TransitionDrawable drawable = (TransitionDrawable) imageView_2000.getDrawable();
    drawable.reverseTransition(500);
    }
    });
    }
    }


    _______________________________________________________________________________________________________________Fragen zum Programm

    In der Hilfestellung von Transition Drawable habe ich in der Main Activity ein Bild vom Programmcode hinterlegt.
    Das sieht nicht gut aus.

    - wie bekomme ich an dieser Stelle sauber den Programmcode niedergeschrieben, mit Klammerabständen usw.?

    Eventuell noch paar Tips über die Primären Ziele und Literatur am Anfang.



    Vielen Dank für eure Zeit, bin für jeden Ratschlag sehr dankbar.
    LG Beginndroide

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Beginndroide ()

  • __________________________________________________________________________________________________________________________16.05.17

    Guten Abend Community,

    komm hier nicht weiter, bitte um ein Gedankenanstoß!
    (sehr kurzes Video zum Thema: youtube.com/watch?v=9QcROpSWcFs)


    Display: ImageView
    Buttons: 1, 2, 3

    das ImageView soll die Nummer einblenden, welche unten betätigt wird. Wenn die Taste dann losgelasen wird, soll wieder eine 1 da stehen.
    Bis jetzt bekomme ich nur den Wechsel in der Aktiontaste, weiß aber nicht, wie man dies auf das Display überträgt.

    LG Beginndroide

    __________________________________________________________________________________________________________________an alle Beginner

    Hier habe ich jemand gefunden, der die Grundsachen gut erklärt. Auch wenn die Videos aus dem Jahre 2013 sind, kann ich diesen viel abgewinnen.
    Seine Seite: codeconcert.de/index.html

    Falls Maik Aicher hier mitliest, Vielen Dank!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Beginndroide ()