J'essaye de créer une configuration de double volet/volet unique pour une application. Cela a bien fonctionné il y a un moment avant que je mette tout le contenu dans les fragments, et je ne sais pas ce qui l'a empêché de fonctionner. Le problème se produit lorsque je fais un changement d'orientation. Au début, il ne recréait pas la vue pour une raison quelconque. Il appelait surCreateView, mais je n'étais pas en mesure d'obtenir un contrôle sur la listview à l'intérieur de la vue et obtenait null (je sais que les mises en page sont correctes pour le paysage et le portrait, car cela fonctionne à la fois). Donc, ce que j'ai fait est d'ajouter setRetainInstance à true, en pensant que cela réglerait mon problème. Eh bien, cela a soulevé toute une autre question de maintenant, je reçois No View Found For Id. Ce que je pense qu'il se passe maintenant, c'est qu'il essaie de se reconnecter à l'ID qu'il avait avant le changement d'orientation, et il n'existe pas comme sur une autre mise en page maintenant. J'ai essayé juste de créer un nouveau fragment et de l'ajouter, mais cela ne fonctionne pas non plus. Je suis en train de tirer mes cheveux en essayant de travailler avec le système de fragments de pensée d'Android qui est presque impossible de travailler avec. Toute aide serait appréciée. Voici le code correspondantFragment Android Aucune vue Trouvé pour l'ID
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.study_guide);
//Create The Ad Service
//Check to see if the view is landscape or portrait
if (this.findViewById(R.id.singlePaneStudyGuide) != null) {
mDualPane = false;
} else if (this.findViewById(R.id.doublePaneStudyGuide) != null) {
mDualPane = true;
}
LinearLayout layout = (LinearLayout)findViewById(R.id.addbox);
adView = new AdView(this,AdSize.SMART_BANNER,"a1511f0352b42bb");
layout.addView(adView);
AdRequest r = new AdRequest();
r.setTesting(true);
adView.loadAd(r);
//Inflate Fragments depending on which is selected
//if (savedInstanceState == null) {
FragmentManager fm = this.getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
SGListFragment newFrag = new SGListFragment();
if (mDualPane == true) {
ft.add(R.id.sgScrollContainer, newFrag, "SgListView").commit();
} else {
ft.add(R.id.singlePaneStudyGuide, newFrag, "SgListView").commit();
}
fm.executePendingTransactions();
//}
}
Ive essayé de chercher le fragment avec le gestionnaire de fragment et réaffectant à une autre mise en page, mais pour une raison quelconque le toujours à la recherche de l'ancien.
s'il vous plaît envoyer votre code – Kerry
s'il vous plaît également ajouter le contenu de study_guide.xml pour les orientations portrait et paysage –