android: comment faire pour modifier la disposition sur cliquez sur le bouton?
Je code suivant pour la sélection de mise en page sur le bouton cliquez sur.
View.OnClickListener handler = new View.OnClickListener(){
public void onClick(View v) {
switch (v.getId()) {
case R.id.DownloadView:
//doStuff
setContentView(R.layout.main);
break;
case R.id.AppView:
//doStuff
setContentView(R.layout.app);
break;
}
}
};
findViewById(R.id.DownloadView).setOnClickListener(handler);
findViewById(R.id.AppView).setOnClickListener(handler);
Quand je clique sur le "AppView" bouton, les modifications de mise en page, mais quand je clique sur le "DownloadView "bouton, rien ne se passe.
Ce lien dit que je dois commencer une nouvelle activité.
Mais je ne sais pas comment utiliser le code de l'intention de démarrer une nouvelle activité, un nouveau fichier sera ajouté?
EDIT:
J'ai mon code sur la nouvelle activité:
package com.example.engagiasync;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
public class AppView extends Activity implements OnClickListener{
@Override
public void onCreate(Bundle savedInstanceState){
setContentView(R.layout.app);
TextView tv = (TextView) this.findViewById(R.id.thetext);
tv.setText("App View yo!?\n");
}
@Override
public void onClick(View v) {
//TODO Auto-generated method stub
}
}
mais il ne fonctionne pas, elle se ferme, le logcat dit:
- vérifiez votre bouton id à la fois la mise en page..
- est-il probibited lorsque le bouton id dans la première disposition est la même chose avec la deuxième mise en page?
- Non, ce devrait être ok aussi longtemps qu'il se produit seulement une fois dans chaque fichier de mise en page.
- Oui, il se produit seulement une fois dans chaque de mon fichier de mise en page.
Vous devez vous connecter pour publier un commentaire.
Note : et puis, vous devez déclarer l'ensemble de vos activités dans le manifeste .fichier xml comme ceci :
EDIT : mise à jour de cette partie de Code 🙂 :
NB : cochez cette (Lien brisé) Tutoriel Sur la Façon De Basculer Entre les Activités.
Je voudrais ajouter un
android:onClick
à la mise en page, puis modifiez la mise en page dans l'activité.Donc dans la mise en page
Puis dans l'activité d'ajouter la suivante:
Je pense que ce que vous essayez de faire, doit être fait avec de multiples Activités. Si vous êtes en train d'apprendre Android, la compréhension des Activités est quelque chose que vous allez aborder. Essayer d'écrire un ensemble de l'application avec une seule Activité sera beaucoup plus difficile. Lire cet article pour vous obtenir a commencé, alors, vous devriez vous retrouver avec quelque chose comme ceci:
Je sais que je suis venue à cette fin, mais ce que le diable.
J'ai presque le même code exactement comme Kris, en utilisant seulement une Activité, mais avec 2 différents layouts/points de vue, et je veux passer entre les mises en page à volonté.
Comme un test, j'ai ajouté 2 options de menu, chacun commutateurs de la vue:
Remarque, j'en ai une Activité de classe. Cela fonctionne parfaitement. Donc, je n'ai aucune idée de pourquoi les gens sont ce qui suggère à l'aide de différentes Activités /Intentions. Peut-être que quelqu'un peut expliquer pourquoi mon code fonctionne et Kris de ne pas.
Vous vouliez changer la mise en page lors de l'exécution sur le bouton cliquez sur. Mais ce n'est pas possible et comme il a été à juste titre indiqué ci-dessus, vous devez redémarrer l'activité. Vous rencontrerez un problème similaire quand u plan sur la modification d'un thème basé sur la sélection de l'utilisateur, mais elle ne tient pas compte de l'exécution. Vous devrez redémarrer l'activité.
Le logcat montre l'erreur, vous devez appeler
super.onCreate(savedInstanceState)
:D'abord, je voudrais suggérer de mettre une bûche dans chaque cas de votre commutateur pour être sûr que votre code est appelé.
Ensuite, je voudrais vérifier que les dispositions sont en fait différents.
C'est très simple, il suffit de faire ceci: