Comment naviguer d'un écran d'activité à un autre écran d'activité? Sur le premier écran, je n'ai qu'un bouton si je clique dessus, il doit passer à un autre écran d'activité.
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);
}
});
Ici, nous avons défini un écouteur pour Button x. Le système d'exploitation appellera cette méthode et lancera l'activité référencée dans Intention i.
Voici l’exemple officiel du tutoriel: http://developer.Android.com/guide/tutorials/notepad/notepad-ex2.html
Le cas le plus trivial (appelé d'activité):
startActivity(new Intent(this, ActivityToLaunch.class));
Plus de détails ici: 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);
}
Cette tâche peut être accomplie à l'aide de l'un des composants principaux d'Android, nommé Intents, et de 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 à tout composant BroadcastReceiver intéressé, et startService (Intent) ou bindService (Intent, ServiceConnection, int) pour communiquer avec un service en arrière-plan.
Une intention permet de créer une liaison d'exécution tardive entre le code dans différentes applications. Son utilisation la plus importante est dans le lancement d'activités, où il peut être considéré comme le lien entre les activités. Il s’agit d’une structure de données passive contenant une description abstraite d’une action à exécuter.
Reportez-vous aux documents officiels - http://developer.Android.com/reference/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 que vous voulez passer d’une activité à l’autre à la OnClickListener()
, puis -
PresentActivity - Il s'agit de votre activité actuelle à partir de laquelle vous souhaitez passer à la deuxième activité.
NextActivity - Ceci est votre prochaine activité sur laquelle vous souhaitez vous déplacer.
Donc, 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);
}
});
}
}
Cet exemple concerne le clic sur le bouton. Vous pouvez utiliser le code n'importe où, qui est écrit dans la fonction OnClickListener()
du bouton, à n'importe quel endroit où vous souhaitez basculer entre vos activités.
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));
}
});
Utilisez le code suivant. J'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 l'identifiant de votre xml de votre bouton.
startActivity(new Intent(this,newActivity.class));
Passer d'une activité à une autre est très simple, mais difficile pour une nouvelle . Votre prochain cours doit être défini dans AndroidManifest.xml
C'est la classe de 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);
}