it-swarm.com.de

Wie bekomme ich eine Schaltfläche zum Öffnen einer anderen Aktivität in Android Studio?

Hallo, ich bin neu im Programmieren und verwende Android Studio, um meine Android-App zu codieren. Ich habe früher mit Eclipse gearbeitet, aber ich versuche etwas Neues. Ich habe eine Schaltfläche zu my activity.XML-Datei hinzugefügt und kann meine andere Aktivität nicht öffnen. Können mir einige bitte Schritt für Schritt erklären, wie das geht?

21
BionicDroid

A. Stellen Sie sicher, dass Ihre andere Aktivität im Manifest angegeben ist: 

<activity
    Android:name="MyOtherActivity"
    Android:label="@string/app_name">
</activity>

Alle Aktivitäten müssen in manifest deklariert werden, auch wenn ihnen kein intent filter zugewiesen ist.


B. Führen Sie in Ihrer MainActivity so etwas aus:

Button btn = (Button)findViewById(R.id.open_activity_button);    

btn.setOnClickListener(new View.OnClickListener() {         
        @Override
        public void onClick(View v) {
            startActivity(new Intent(MainActivity.this, MyOtherActivity.class));
        }
});
65
Gilad Haimov

OnClickListener verwenden

In der onCreate()-Methode Ihrer Activity-Instanz müssen Sie zuerst Ihre Button anhand ihrer ID mit findViewById() finden und dann eine OnClickListener für Ihre Schaltfläche festlegen und die onClick()-Methode implementieren, damit Ihre neue Activity gestartet wird. 

Button yourButton = (Button) findViewById(R.id.your_buttons_id);

yourButton.setOnClickListener(new OnClickListener(){
    public void onClick(View v){                        
        startActivity(new Intent(YourCurrentActivity.this, YourNewActivity.class));
    }
});

Dies ist wahrscheinlich die von den meisten Entwicklern bevorzugte Methode. Es gibt jedoch eine gemeinsame Alternative.

OnClick in XML verwenden

Alternativ können Sie den Android:onClick="yourMethodName" verwenden, um den Methodennamen in Ihrer Activity zu deklarieren, die aufgerufen wird, wenn Sie auf Ihre Button klicken, und dann Ihre Methode wie folgt deklarieren.

public void yourMethodName(View v){
    startActivity(new Intent(YourCurrentActivity.this, YourNewActivity.class));
}

Vergessen Sie nicht, Ihre neue Activity in Ihrem manifest.xml anzugeben. Ich hoffe das hilft.

Verweise;

15
Rudi Kershaw

Wenn Sie Ihre Schaltfläche in der XML-Datei wie folgt deklariert haben:

<Button
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:text="next activity"
        Android:onClick="goToActivity2"
        />

dann können Sie es verwenden, um die Aktivität zu ändern, indem Sie dies in die Java-Datei einfügen:

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

Beachten Sie, dass meine zweite Aktivität "Main2Activity" heißt.

7
daniftomas
Button T=(Button)findViewById(R.id.button_timer);
T.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        Intent i=new Intent(getApplicationContext(),YOURACTIVITY.class);
        startActivity(i);
    }
});
2
harveyslash

Führen Sie die folgenden Schritte aus:

  1. neue Layout-XML in das Ordner-Layout einfügen
  2. benennen Sie window2 um
  3. füge einen neuen Button hinzu und füge diese Zeile hinzu: Android: onClick = "window2"

mainactivity.Java

public void openWindow2(View v) {
        //call window2
        setContentView(R.layout.window2);           
    }
}
1
BREI

Schreiben Sie Code in die XML-Datei.

<Button Android:width="wrap_content"
        Android:height="wrap_content"
        Android:id="@+id/button"
        Android:text="Click"/>

Schreiben Sie Code in Ihre Java-Datei

Button button=(Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            startActivity(new Intent(getApplicationContext(),Secondclass.class));
           /* if you want to finish the first activity then just call
            finish(); */
        }
    });
1
Amol Gursali

public void onButtonClick (Ansichtsansicht)

startActivity (neue Absicht (Aktuelle Aktivität.Diese, IntentActivity.Klasse));

0
Mani kandan

Ich tat das gleiche, das user9876226 antwortete. Der einzige Unterschied ist, dass ich normalerweise den onClickListener nicht verwende. Stattdessen schreibe ich folgendes in die xml-Datei: Android:onClick="open"

open ist die Funktion, die an die Schaltfläche gebunden ist ..__ Dann erstellen Sie einfach die Funktion open () in Ihrer Aktivitätsklasse. Wenn Sie auf die Schaltfläche klicken, wird Diese Funktion heißt :) Ich denke auch, dass dieser Weg komfortabler ist als die Verwendung des Listeners.

0
Matécsa Andrea

verwenden Sie den folgenden Code, um eine Schaltfläche zu erhalten. Öffnen Sie in Android Studio eine bereits vorhandene Aktivität. 

Button StartButton = (Button) findViewById(R.id.YOUR BUTTONS ID GOES HERE);

StartButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        startActivity(new Intent(MainActivity.this, YOUR ACTIVITY'S ID GOES HERE.class));
    }
});
0
user9876226