2011-11-30 3 views
0

J'ai une activité, j'ai deux cours. Lorsque mon application démarre, setContentView est défini sur une mise en page qui se trouve dans l'une de mes classes.Android et setContentView?

Maintenant à l'intérieur de cette mise en page il y a un bouton qui doit mettre SetContentView à la disposition qui est dans mon autre classe.

Comment puis-je modifier l'affichage du contenu? Comment ma sous-classe peut-elle renvoyer un message à ma classe principale pour lui dire de changer le setContentView?

Répondre

0

« off ce que j'ai deux classes » sont-ils sous-classes à votre activité, les classes internes ? Votre problème n'est pas vraiment évident pour moi.

La façon dont je le ferais est d'avoir deux mises en page XML et deux activités: layout1 et layout2, Activity1 et Activity2.

Vous appelez setContent(R.layout.layout1) normalement dans votre méthode onCreate dans Activity1, et vous ajoutez le code suivant dans votre bouton méthode onClick:

finish(); // to close current activity 
startActivity(this, Activity2.class); 
0

Vous devez créer un autre Activity qui utilise la deuxième mise en page, et de faire ce bouton lancer cette activité, comme ceci:

button.setOnClickListener(new OnClickListener() { 
    public void onClick(View view) { 
     Intent intent = new Intent(getApplicationContext(), SecondActivity.class); 
     startActivity(intent); 
    } 
} 
+0

La méthode startActivity (intention) dans le contexte de type n'est pas applicable pour les arguments (Contexte, Classe ) – panthro

+0

L'a corrigé, fonctionnera maintenant – Jong