Je suis en train de changer mon contenu de l'activité à un moment donné. (à View2). Après la modification de View1, les écouteurs ne fonctionnent plus. J'ai déjà essayé de placer l'écouteur dans la méthode onResume().setContentView et les auditeurs
Est-il courant d'utiliser setContentView() pour afficher par ex. un écran de progression/veuillez patienter, ... (pendant l'exécution d'une asyncTask). Ou devriez-vous avoir seulement une vue principale pour chaque activité? (et en remplaçant le contenu dynamiquement).
// EDIT: Pour être plus précis: Je cherche quelque chose comme
LinearLayout item = (LinearLayout) findViewById(R.id.mainView);
View child = getLayoutInflater().inflate(R.layout.progress, null);
item.addView(child);
mais au lieu d'ajouter le « progress.xml », il devrait supprimer la disposition actuelle et seulement montrer « des progrès. xml ". Ai-je besoin d'un "conteneur" pour afficher/masquer mainView/progress? Mais cela ne me semble pas très propre à ...
Voir aussi le code ci-dessous (dénudée)
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.view1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
doSomething();
}
});
}
setContentView(R.layout.view2);
[...]
setContentView(R.layout.view1);
//Listener not more working
Comment créer un 'bouton'? Vous devez montrer plus de code. –
Je pense que votre approche est correcte dans certaines circonstances (par exemple view1 est un écran de chargement ou de démarrage et view2 est content.Une façon de gérer cela est de mettre le contenu de view1 et view2 dans le même fichier layout imbriqué sous un FrameLayout et basculer le visibilité d'eux de View.GONE à View.VISIBLE si nécessaire avec View # setVisibility(). – nmr