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?
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));
}
});
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.
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;
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.
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);
}
});
Führen Sie die folgenden Schritte aus:
mainactivity.Java
public void openWindow2(View v) {
//call window2
setContentView(R.layout.window2);
}
}
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(); */
}
});
public void onButtonClick (Ansichtsansicht)
startActivity (neue Absicht (Aktuelle Aktivität.Diese, IntentActivity.Klasse));
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.
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));
}
});