Bunu doğru bir şekilde içe geçmiş bir yığın bırakarak, temiz-up Parça geri yığını için mi?
Android Compatbility kitaplık bir parça başka bir parça patlar olan bir düğme içeren fragements uygulamak ve düzeni örnek uzadığı için kullanıyorum.
5 seçilebilir öğeler var solda seçim bölmesi - A, B, C, D, E
Ayrıntılar bir parça her yükleri (FragmentTransaction ile değiştir:) bölmesi - a, b, c, d, e
Şimdi fragement 'e' bir parça 'e1' da Ayrıntılar bölmesinde. yükler bir düğme içeren genişletilmiş ettim Parçanın 'e"aşağıdaki gibi özelliği yöntem . bu yaptığım
FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
ft.replace(R.id.details_frag, newFrag);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.addToBackStack(null);
ft.commit();
Eğer aşağıdaki seçimleri yaparsam:
E - e - e1 - D - E
O zaman parçası 'e' ayrıntılar bölmesi. Bu ne istediğimi gayet iyi. Eğer 'geri' bu noktada düğmesi hiçbir şey yapmaz. vurdum ancak, Çünkü iki kere tıklayın 'e1' hala üzerinde yığını. Ayrıca etrafında tıkladıktan sonra onCreateView null işaretçi istisna var:
Bu sorun, aşağıdaki eklediğim zaman C D E 'seçilir:.' B çözmek için
FragmentManager fm = getActivity().getSupportFragmentManager();
for(int i = 0; i < fm.getBackStackEntryCount(); i) {
fm.popBackStack();
}
Farklı bir şey yapmam gerekmediğini, bu doğru çözüm olup olmadığını merak ediyorum?
Şimdiden teşekkürler. Peter
CEVAP
Peki bu konuda istenen davranış bağlı olarak gitmek için birkaç yolu vardır, ama bu link sana en iyi çözümleri ve Dianne Hackborn gelen şaşırtıcı olmayan bir şekilde, tüm vermeli
http://groups.google.com/group/android-developers/browse_thread/thread/d2a5c203dad6ec42
Aslında aşağıdaki seçenekler vardır
- İlk geri için adı devlet yığın ve kullanın
FragmentManager.popBackStack(String name, FragmentManager.POP_BACK_STACK_INCLUSIVE)
. FragmentManager.getBackStackEntryCount()
/getBackStackEntryAt().getId()
kullanın arkadan ilk giriş KİMLİĞİ yığın almak veFragmentManager.popBackStack(int id, FragmentManager.POP_BACK_STACK_INCLUSIVE)
.FragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
tüm geri... belgelerine bence yığını pop gerekiyordu. bu çok yanlış. (Aslında sanırım sadece dava nerede kapsamıyor ** 9) geçersin
En iyi şekilde'jQuery nin ev sahi...
HTML iç içe geçmiş bir liste yapmak iç...
Nasıl temiz tutulması modunda çalıştır...
Her sekme için bir Yığın Android Parça...
Tüm sonra, doğru geri Parçaları örnek ...