Eh bien, j'ai un autre problème que je n'arrive pas à trouver la solution ... J'ai une application qui charge le fichier main.xml au démarrage, bien sûr. Dans ce sont plusieurs boutons, et je veux que les boutons me prennent à un fichier XML différent. Je viens d'utiliser la méthode setContentView (R.layout.newlayout.xml) pour ça, et ça marche très bien. Le problème vient après cela. Si je référence l'un des boutons ou d'autres objets dans la nouvelle mise en page, l'application ne terminera même pas le chargement avant qu'elle ne se bloque et se ferme sur l'émulateur. Cependant, si je prends toutes les références à des objets, l'application fonctionne bien. Je peux naviguer TO les nouvelles mises en page, mais leurs boutons ne peuvent rien faire. Ai-je besoin de créer un fichier Java distinct pour chaque mise en page? Ou est-ce que je fais tout faux? J'essaie d'être aussi précis que possible ... Je suppose que vous pourriez dire que j'ai besoin de différentes "pages" dans mon application comme le ferait un site Web.Changer de vue/mise en page
Répondre
Ok, pour quelqu'un là-bas avec le même problème et n'ont pas compris comment faire, comme je l'ai dit dans mon commentaire sur ylebre, mon collègue et moi avons enfin découvert comment le faire. Tout d'abord, nous avons ajouté
implements OnClickListener
à la classe, après
extends Activity
puis, nous avons créé un nouveau fichier java, et au début du fichier il appelé
setContentView(R.layout.newlayout);
au lieu de principal. Ensuite, nous avons fait un bouton comme suit:
Button button1 = (Button) findViewById(R.id.button01;
button1.setOnClickListener(this);
plus tard dans le code:
public void onClick(View v) {
switch(v.getId()) {
case R.id.button01:
startActivity(new Intent(this, NEWJAVAFILE.class));
break;
}
}
Et voilà! Nous avons simplement copié et collé ce code dans NEWJAVAFILE, changé les noms et ainsi de suite, et nous avons pu naviguer librement d'avant en arrière. Comme l'a dit Ylebre, tout le code de la nouvelle activité se trouve dans le fichier NEWJAVAFILE.java. OH et ne pas oublier d'ajouter le nom du fichier java au manifeste dans les balises:
<activity android:name=".NEWJAVAFILE">
</activity>
tout semble si simple maintenant!
Je pense que ce que vous essayez de faire est mieux résolu en utilisant plusieurs fichiers java, chacun définissant sa propre activité android.
Bien qu'il soit possible d'avoir plusieurs mises en page/vues dans une seule activité, cela rendra généralement le code plus complexe et plus difficile à lire/déboguer dans le futur. En ayant chaque «écran» dans son propre fichier, il sera un peu plus facile de gérer toutes les vues différentes que vous devez jongler.
Merci beaucoup! Au cours des deux ou trois dernières heures, j'ai collaboré avec un autre programmeur de mon bureau (qui n'a aucune expérience dans Android, un peu en Java et un peu en C#) et nous avons finalement trouvé comment tout faire fonctionner.Je souhaite que nous aurions vérifié votre poste d'abord, parce que c'est exactement ce que nous avons fini par faire! Je vais poster un exemple dans une réponse pour quelqu'un d'autre qui a ce problème. – Brandon
Les boutons et les vues ne peuvent se référer à ceux mentionnés dans le fichier en cours setContentView() ..
u peut tester en créant un bouton et initialisant à un R.id ... sans régler l'affichage du contenu .. U sera obtenir une force de fermeture ..
donc si u modifier le fichier XML u shud choses encore .... initialiser
- 1. Changer de page en mode plein écran
- 2. changer la page de démarrage
- 3. ggplot2: Changer la mise en page de la légende
- 4. Changer les styles de page en utilisant JS et CSS?
- 5. comment changer un titre de page en wordpress
- 6. Comment changer cette mise en page en une mise en page CSS?
- 7. changer l'URL de la page sans rafraîchir la page
- 8. Comment changer la page de l'intérieur JavaScript
- 9. Comment changer de page sur iPhone?
- 10. Comment changer la page d'accueil du projet?
- 11. Rails: Comment changer le titre d'une page?
- 12. Changer la page d'index - Ruby on Rails
- 13. comment changer le style en ligne de la page en utilisant jquery
- 14. Comment empêcher l'utilisateur de changer de page avec jQuery
- 15. changer de type en C#
- 16. comment changer la sélection de page dans wxNotebook ou wxChoicebook?
- 17. Comment changer "+" pour devenir "-" dans la page de recherche Wordpress?
- 18. Comment changer les vidéos max de la page avec jQuery?
- 19. Changer le curseur lors du chargement de la page
- 20. Apache Tiles: changer la page de modèle à l'exécution
- 21. changer la couleur de fond de la mise en page dans Android
- 22. comment changer l'hébergement silverlight de "page de test" en "projet web"?
- 23. Changer le curseur de la souris sur une page html
- 24. Changer le char-set de la page avec jquery
- 25. comment utiliser le UINavigationController pour changer de page
- 26. comment changer la page d'accueil par défaut de zend framework
- 27. Comment changer la page d'erreur par défaut de Glassfish?
- 28. Forcer le contenu de la page à changer via Javascript
- 29. riche: dataScroller comment changer de page toutes les 10 secondes?
- 30. Comment changer l'emplacement de la page à l'exécution
l'affichage de votre code de nous permettrait de localiser rapidement l'erreur. –