it-swarm.com.de

Android button onClickListener

Ich versuche, neues Activity zu öffnen, indem ich in meiner OnClickListener -Methode auf eine Schaltfläche klicke. Wie funktioniert die OnClickListener -Methode und was muss getan werden, um eine neue Activity zu starten?

16
AndroidFreak

Diese Aufgabe kann mithilfe eines der Hauptbausteine ​​von Android mit dem Namen Intents und einer der Methoden public void startActivity (Intent intent) ausgeführt werden, die zu Ihrer Aktivitätsklasse gehören.

Eine Absicht ist eine abstrakte Beschreibung einer auszuführenden Operation. Es kann mit startActivity zum Starten einer Aktivität, mit broadcastIntent zum Senden an interessierte BroadcastReceiver-Komponenten und mit startService (Intent) oder bindService (Intent, ServiceConnection, int) zum Kommunizieren mit einem Hintergrunddienst verwendet werden.

Ein Intent bietet die Möglichkeit, eine späte Laufzeitbindung zwischen dem Code in verschiedenen Anwendungen durchzuführen. Die wichtigste Verwendung ist der Start von Aktivitäten, bei denen es sich um den Klebstoff zwischen Aktivitäten handelt. Grundsätzlich handelt es sich um eine passive Datenstruktur mit einer abstrakten Beschreibung einer auszuführenden Aktion.

Lesen Sie die offiziellen Dokumente - http://developer.Android.com/reference/Android/content/Intent.html

public void startActivity (Intent intent) - Wird verwendet, um eine neue Aktivität zu starten.

Angenommen, Sie haben zwei Aktivitätsklassen -

  1. PresentActivity - Dies ist Ihre aktuelle Aktivität, von der aus Sie zur zweiten Aktivität wechseln möchten.

  2. NextActivity - Dies ist Ihre nächste Aktivität, auf der Sie sich bewegen möchten.

Die Absicht wäre also so

Intent(PresentActivity.this, NextActivity.class)

Schließlich wird dies der vollständige Code sein

public class PresentActivity extends Activity {
  protected void onCreate(Bundle icicle) {
    super.onCreate(icicle);

    setContentView(R.layout.content_layout_id);

    final Button button = (Button) findViewById(R.id.button_id);
    button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
              // Perform action on click   
              Intent activityChangeIntent = new Intent(PresentActivity.this, NextActivity.class);

              // currentContext.startActivity(activityChangeIntent);

              PresentActivity.this.startActivity(activityChangeIntent);
            }
          });
  }
}
37
Nikhil Agrawal
//create a variable that contain your button
Button button = (Button) findViewById(R.id.button);

    button.setOnClickListener(new OnClickListener(){
        @Override
        //On click function
        public void onClick(View view) {
            //Create the intent to start another activity
            Intent intent = new Intent(view.getContext(), AnotherActivity.class);
            startActivity(intent);
        }
    });
13

Benutze OnClicklistener oder du kannst Android:onClick="myMethod" im xml Code Ihrer Schaltfläche, aus dem Sie ein neues Layout öffnen. Wenn Sie auf diese Schaltfläche klicken, wird die Funktion myMethod automatisch aufgerufen. Ihre myMethod -Funktion in der Klasse sieht so aus.

public void myMethod(View v) {
Intent intent=new Intent(context,SecondActivty.class);
startActivity(intent);
}

Und in diesem SecondActivity.class neues Layout in der Inhaltsansicht einstellen.

4
Rahul

einfach:

startaktivität (Onclick-Handler)

 Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);
 myIntent.putExtra("key", value); //Optional parameters
 CurrentActivity.this.startActivity(myIntent);

zur neuen Aktivität:

@Override
protected void onCreate(Bundle savedInstanceState) {
Intent intent = getIntent();
String value = intent.getStringExtra("key"); //if it's a string you stored.

und füge deine neue Aktivität im AndroidManifest.xml hinzu:

<activity Android:label="@string/app_name" Android:name="NextActivity"/>
2
Dory Zidon