Parçaları uygulamak için Android Uyumluluk kitaplığını kullanıyorum ve mizanpaj örneğini, bir parçanın başka bir parçayı çalıştıran bir düğme içerecek şekilde genişlettim.
Soldaki seçim bölmesinde 5 seçilebilir öğe var - A B C D E
.
Her biri FragmentTransaction:replace
ayrıntılar bölmesinde bir parça (yol ) yükler -a b c d e
Şimdi , ayrıntılar bölmesinde e
başka bir parça yükleyen bir düğme içerecek şekilde genişlettim e1
. Bunu parçanın e
onClick yönteminde şu şekilde 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();
Aşağıdaki seçimleri yaparsam:
E - e - e1 - D - E
Daha sonra parça e
ayrıntılar bölmesindedir. Bu iyi ve istediğim şey. Ancak, back
bu noktada düğmeye basarsam hiçbir şey yapmıyor. İki kez tıklamam gerekiyor çünkü e1
hala yığında. Ayrıca etrafa tıkladıktan sonra onCreateView'da boş bir işaretçi istisnası aldım:
Bu sorunu 'çözmek' için her zaman aşağıdakileri ekledim A B C D E
seçildiğinde :
FragmentManager fm = getActivity().getSupportFragmentManager();
for(int i = 0; i < fm.getBackStackEntryCount(); ++i) {
fm.popBackStack();
}
Bunun doğru çözüm olup olmadığını veya farklı bir şey yapmam gerekip gerekmediğini merak mı ediyorsunuz?