Comment naviguer d'un écran à un autre écran
-
12-09-2019 - |
Question
Comment naviguer d'un écran d'activité à un autre écran d'activité? Dans le premier écran, je vais avoir un bouton si je clique sur le bouton, il doit passer à un autre écran d'activité.
La solution
OnClickListener onClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(action));
}
};
Button button = (Button) findViewById(id);
button.setOnClickListener(onClickListener);
Autres conseils
Le cas le plus trivial (appelé de l'activité):
startActivity(new Intent(this, ActivityToLaunch.class));
Plus de détails ici: http://developer.android.com/guide/topics/ fundamentals.html
Button x.setOnClickListener(new View.OnClickListener() {
public void onClick(View v)
{
Intent i = new Intent(y.this, Activity.class);
startActivity(i);
}
});
Ici, nous avons défini un écouteur pour x Bouton. Le système d'exploitation appellera cette méthode et commencer l'activité référencée dans Intent i.
Voici l'exemple tutoriel officiel: http://developer.android.com/guide/tutorials/notepad/notepad -ex2.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);
}
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));
}
});
Cette tâche peut être accomplie en utilisant l'un des blocs de bâtiment principal de l'androïde nommé Intentions et l'une des méthodes public void startActivity (Intent intent)
qui appartient à votre classe d'activité.
Une intention est une description abstraite d'une opération à effectuer. Il peut être utilisé avec startActivity pour lancer une activité, broadcastIntent pour l'envoyer à tous les composants BroadcastReceiver intéressés et startService (intention) ou bindService (intention, ServiceConnection, int) pour communiquer avec un service d'arrière-plan.
Une intention fournit une installation pour effectuer l'exécution tardive de liaison entre le code dans différentes applications. Son utilisation la plus importante est le lancement d'activités, où il peut être considéré comme la colle entre les activités. Il est essentiellement une structure de données passive tenant une description abstraite d'une action à exécuter.
Reportez-vous la documentation officielle - http://developer.android.com/ référence / android / content / Intent.html
public void startActivity (Intent intent)
-. Utilisé pour lancer une nouvelle activité
Supposons donc que vous avez deux classes d'activité et sur un bouton de OnClickListener()
de clic vous voulez déplacer d'une activité à une autre, puis -
-
PresentActivity -. Ceci est votre activité actuelle à partir de laquelle vous voulez aller de la deuxième activité
-
NextActivity -. Voici votre prochaine activité sur laquelle vous souhaitez déplacer
Ainsi, l'intention serait comme ça
Intent(PresentActivity.this, NextActivity.class)
Enfin, ce sera le code complet
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);
}
});
}
}
Cette exmple est liée à bouton clic, vous pouvez utiliser le code partout qui est écrit à l'intérieur du OnClickListener()
de bouton clic à tout endroit où vous souhaitez basculer entre vos activités.
Utilisation suivant code..I espère que cela vous aidera.
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 est id de votre xml de votre bouton.
startActivity(new Intent(this,newActivity.class));
Le passage d'une activité à une autre est très simple, mais difficile pour un nouveau.
Votre prochaine classe doit être définie dans AndroidManifest.xml
. Cette classe est testeur:
<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);
}
Vous pouvez accéder à l'écran suivant en utilisant ces extraits de code:
Kotlin
startActivity(Intent(this, LoginActivity::class.java))
Java
startActivity(new Intent(this, LoginActivity.class))
Voici une référence: Développeurs Android - A partir une autre activité