J'ai vu beaucoup de gens dire que vous pouvez définir SetContentView en dehors de la méthode Oncreate, mais je n'ai trouvé aucun exemple. Maintenant, lorsque j'essaie d'utiliser SetContentView, mon application se bloque simplement. Voici mon code source:
alarcittitivité.java: p> new_ala.java: p> t-shirt.xml : p> sur plus de détails, je peux utiliser setContentView (r.layout.timepicker) à l'intérieur de la méthode Oncreate sans aucun problème, donc le problème est que SetContentView ne fonctionne pas correctement à l'intérieur. la classe new_ala.java. Quelqu'un peut-il m'aider? P> Le code après avoir défini l'intention:
Alarmactivité: P> package com.alarm.example;
import android.os.Bundle;
public class NewAlarmActivity extends AlarmActivity{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.timepicker);
}
}
3 Réponses :
La meilleure façon de faire est d'avoir plusieurs activités: au lieu de nou1.nou_alarma (); code>, créer une intention et démarrer une nouvelle activité avec la nouvelle mise en page.
startActivity(new Intent(this, NewAlarmActivity.class));
Merci pour votre réponse. J'ai créé la nouvelle activité mais lorsque j'exécute le programme dans l'émulateur, l'écran devient noir et rien ne se passe. Ce code après la modification est dans la description de ma question
Si vous souhaitez que nous enquêtions sur un accident, vous devez afficher le contenu du logcat, qui montre l'exception.
J'ai trouvé le problème. Le programme a toujours été noir car il n'y avait pas de condition pour commencer la nouvelle intention et juste après le début de la nouvelle intention de la nouvelle intention, est revenue à la méthode principale et ainsi de suite. Maintenant, j'ai résolu le problème et ça marche brillamment. Merci beaucoup.
La méthode setContentView () code> ne peut être appelée qu'une fois par activité. Si vous souhaitez modifier complètement la mise en page à un moment donné, optez sur
ViewFlipper CODE> ou avoir 2 dispositions de l'activité et ne figurez que l'une d'elles à l'heure donnée en appelant
View.sevisibilité (vue .Gone); code> et
vue.setvisibilité (vue.visible); code> respectivement. P>
La première partie est tout simplement fausse. SetContentView code> peut être appelé un nombre de fois arbitraire.
Vous pouvez appeler SetContentView à tout moment que vous utilisez sur le thread d'événement (UI). Sachez que lorsque vous le faites, tous les champs que vous avez initialisés en appelant wederviewide code> devront être réinitialisés. P>
"Mon application se bloque simplement" s'il vous plaît poster le logcat avec l'exception