web-dev-qa-db-fra.com

Comment naviguer d'un écran à un autre

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é.

29
Kumar
OnClickListener onClickListener = new OnClickListener() {
    @Override
    public void onClick(View v) {
        startActivity(new Intent(action));
    }
};

Button button = (Button) findViewById(id);
button.setOnClickListener(onClickListener);
11
Chiwai Chan
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

16
Will

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

16
yanchenko
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));

    }
});
10
G.S. Shekhawat
public void onClick(View v) 
{
    Intent myintent = new Intent(currentclass.this, nextactivity.class);
    startActivity(myintent);                               
}
7
kusuma

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 - 

  1. PresentActivity - Il s'agit de votre activité actuelle à partir de laquelle vous souhaitez passer à la deuxième activité.

  2. 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.

4
Nikhil Agrawal
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));

            }
        });
4
Azhar

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.

3
Umesh
startActivity(new Intent(this,newActivity.class));
1
Mostafiz

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);
    }
0
Ayaz Akbar