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:replaceayrıntılar bölmesinde bir parça (yol ) yükler -a b c d e
Şimdi , ayrıntılar bölmesinde ebaşka bir parça yükleyen bir düğme içerecek şekilde genişlettim e1. Bunu parçanın eonClick 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 eayrıntılar bölmesindedir. Bu iyi ve istediğim şey. Ancak, backbu noktada düğmeye basarsam hiçbir şey yapmıyor. İki kez tıklamam gerekiyor çünkü e1hala 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?