1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

App Basics - Button

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von anfortas, 19.07.2010.

  1. anfortas, 19.07.2010 #1
    anfortas

    anfortas Threadstarter Neuer Benutzer

    Beiträge:
    13
    Erhaltene Danke:
    0
    Registriert seit:
    19.07.2010
    Hallo Android-Hilfe-Community

    Im Rahmen einer Arbeit für die Schule habe ich begonnen eine einfache App für Android zu entwickeln. Dazu habe ich (weil dieses Thema, oder besser diese Welt wirklich neu ist für mich) einige Bücher gekauft. Ich verfüge nun schon über Grundkenntnisse in Java und auch Android allgemein.
    Jetzt ist aber bereits ein Problem aufgetaucht, das mich leicht überfordert und das im Buch ("Android 2") eigentlich schon vorausgesetzt wird.

    Problem ist folgendes:
    Von der Startseite meiner Anwendung soll man über verschiedene Buttons auf andere Activities zugreifen können. Dies funktioniert bei mir aber nur bei "imagebuttons". Kann mir jemand kurz erklären, wie der Java Code für das aufrufen einer neuen Activity ist?

    Vielen Dank
    anfortas
     
  2. DieGoldeneMitte, 19.07.2010 #2
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    Dafür ist Activity.startActivity(Intent) zuständig. Schlag unter Intent nach, da steht dann alles weitere.
     
  3. K2DaC, 19.07.2010 #3
    K2DaC

    K2DaC Junior Mitglied

    Beiträge:
    41
    Erhaltene Danke:
    12
    Registriert seit:
    04.06.2010
    in deiner Activity wo die Buttons stehen, in die entsprechende XML Datei, beim Button, folgendes Attribut hinzufügen :

    android: onClick="onClickmyNExtActitivtyName"

    das führt dazu, dass die methode onClickmyNExtActitivtyName() aufgerufen wird beim klicken auf den Button.

    und dann in die Activity selber

    public void onClickmyNExtActitivtyName(View view)
    {
    Intent intent = new Intent(this, myNextActivity.class);
    startActivity(intent);
    }

    myNextActivity.class ist halt die Activity die angezeigt werden soll.
     
    anfortas bedankt sich.
  4. anfortas, 19.07.2010 #4
    anfortas

    anfortas Threadstarter Neuer Benutzer

    Beiträge:
    13
    Erhaltene Danke:
    0
    Registriert seit:
    19.07.2010
    Vielen Dank für die schnelle Antwort, ich habe das Problem inzwischen anders gelösst: (mit einem OnClickListener)

    Code:
    Button next = (Button) findViewById(R.id.button01);
    		next.setOnClickListener(new View.OnClickListener() {
    			public void onClick(View view) {
    				Intent myIntent = new Intent(view.getContext(), myActivity.class);
    				startActivityForResult(myIntent, 0);
    			}
    
    		});
    
    Birgt das irgendwelche Nachteile, soll ich es abändern?
    Thx
     
  5. K2DaC, 19.07.2010 #5
    K2DaC

    K2DaC Junior Mitglied

    Beiträge:
    41
    Erhaltene Danke:
    12
    Registriert seit:
    04.06.2010
    es kommt aufs selbe hinaus.
    weiß nur, dass die methode findViewById() recht rechenintensiv ist.
    Aber vermutlich passiert auf meine art im hintergrund auch nix anderes, daher sollte sich beides nichts nehmen.
    Eigentlich ist "deine art" auch die üblichere, für außenstehende, auch die besser leserliche.
     
  6. the_alien, 19.07.2010 #6
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    Um findViewById() kommt man aber doch quasi gar nicht herum... und soviele Ids sind nicht in einem Layout, dass sie nicht in eine Map passen. Kann mir irgendwie nicht vorstellen, dass es so rechenintensiv sein soll. Wir benutzen das auch bis zum erbrechen im Code...
    Wie registriert man denn sonst Listener an Buttons, Spinnern oder ähnlichem?
     

Diese Seite empfehlen