Wie navigiere ich von einem Aktivitätsbildschirm zu einem anderen Aktivitätsbildschirm? Im ersten Bildschirm habe ich eine Schaltfläche, wenn ich auf die Schaltfläche klicke, muss sie zu einem anderen Aktivitätsbildschirm wechseln.
OnClickListener onClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(action));
}
};
Button button = (Button) findViewById(id);
button.setOnClickListener(onClickListener);
Button x.setOnClickListener(new View.OnClickListener() {
public void onClick(View v)
{
Intent i = new Intent(y.this, Activity.class);
startActivity(i);
}
});
Hier haben wir einen Listener für Button x definiert. Das Betriebssystem ruft diese Methode auf und startet die in Intent i angegebene Aktivität.
Hier ist das offizielle Tutorial-Beispiel: http://developer.Android.com/guide/tutorials/notepad/notepad-ex2.html
Der trivialste Fall (von Aktivität aufgerufen):
startActivity(new Intent(this, ActivityToLaunch.class));
Weitere Details hier: http://developer.Android.com/guide/topics/fundamentals.html
Button btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(TestActivity.this,second.class));
}
});
public void onClick(View v)
{
Intent myintent = new Intent(currentclass.this, nextactivity.class);
startActivity(myintent);
}
Diese Aufgabe kann mit einem der Hauptbausteine des Android mit den 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. Sie kann mit startActivity zum Starten einer Aktivität verwendet werden, broadcastIntent zum Senden an interessierte BroadcastReceiver-Komponenten und startService (Intent) oder bindService (Intent, ServiceConnection, int) zur Kommunikation mit einem Hintergrunddienst.
Ein Intent bietet eine Möglichkeit, eine spätere Laufzeitbindung zwischen dem Code in verschiedenen Anwendungen durchzuführen. Sein wichtigster Nutzen besteht in der Einleitung von Aktivitäten, bei denen es sich um die Verbindung zwischen den Aktivitäten handelt. Es ist im Grunde eine passive Datenstruktur, die eine abstrakte Beschreibung einer auszuführenden Aktion enthält.
Wenden Sie sich an die offiziellen Dokumente - http://developer.Android.com/reference/Android/content/Intent.html
public void startActivity (Intent intent)
- Zum Starten einer neuen Aktivität.
Nehmen wir an, Sie haben zwei Aktivitätsklassen, und klicken Sie auf die Schaltfläche OnClickListener()
, um von einer Aktivität zu einer anderen zu wechseln.
PresentActivity - Dies ist Ihre aktuelle Aktivität, von der Sie die zweite Aktivität ausführen möchten.
NextActivity - Dies ist Ihre nächste Aktivität, zu der Sie wechseln 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);
}
});
}
}
Dieses Beispiel bezieht sich auf das Klicken auf die Schaltfläche. Sie können den Code an einer beliebigen Stelle verwenden, die in die Taste OnClickListener()
des Schaltflächenklicks geschrieben ist, und zwar an jedem Ort, an dem Sie zwischen Ihren Aktivitäten wechseln möchten.
final Context cont = this;
Button btnClickABC =(Button)findViewById(R.id.btnClickABC);
btnClickABC.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(cont, NextActivity.class));
}
});
Verwenden Sie den folgenden Code .. Ich hoffe, das wird Ihnen helfen.
Button button = (Button)findViewById(R.id.xxx);
button .setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(CurrentActivity.this,NextActivity.class);
startActivity(intent);
}
});
xxx ist eine ID aus Ihrer XML-Datei Ihres Buttons.
startActivity(new Intent(this,newActivity.class));
Der Wechsel von einer Aktivität zu einer anderen ist wirklich einfach, aber für eine neue schwierig. Die nächste Klasse muss in AndroidManifest.xml
definiert werden. Dies ist eine Testerklasse:
<activity
Android:name=".Tester"
Android:label="@string/title_activity_tester" >`enter code here`
</activity>
final Button button = (Button) findViewById(R.id.btnGo);// btnGo is id
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(CurrentClass.this, Tester.class);
startActivity(i);
}
Mit diesen Codefragmenten können Sie zum nächsten Bildschirm navigieren:
Kotlin
startActivity(Intent(this, LoginActivity::class.Java))
Java
startActivity(new Intent(this, LoginActivity.class))
Hier ist eine Referenz: Android-Entwickler - Starten einer anderen Aktivität