이 질문에 대한 많은 답변이 있지만 기술적으로는 내 질문이 다릅니다. 몇 가지 문서를 읽었으며 하나의 활동에서만 여러 단편을 사용해서는 안된다는 데 동의했습니다. 여러 활동 조각 프로젝트 요구 사항이나 UI 사양, 그래서 내 응용 프로그램의 아키텍처는 1 BaseActivity입니다에 따라 모든 활동은 2 BaseFragment에서 확장하고 모든 조각은 에서 내 코드 확장 : 내가 만든 한 BaseActivity에서조각을 사용하는 가장 좋은 방법
을 다음 기능들
public void replaceFragment(int containerViewId, Fragment fragment, String fragmentTag, boolean addToBackStack) {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(containerViewId, fragment, fragmentTag);
if(addToBackStack)
fragmentTransaction.addToBackStack(fragmentTag);
if(fragmentTag.matches("") && addToBackStack)
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}
> FragmentB (대체) -3210
이
public void popBackStackImmediate() {
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.popBackStackImmediate();
}
는 총 조각
public List<Fragment> fragmentList(){
return getSupportFragmentManager().getFragments();
}
받기 FrameLayout이에
public void addFragment(int containerViewId, Fragment fragment, String fragmentTag, boolean addToBackStack, boolean isPending) {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(containerViewId, fragment, fragmentTag);
if(addToBackStack)
fragmentTransaction.addToBackStack(fragmentTag);
if(fragmentTag.matches("") && addToBackStack)
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
if(isPending)
fragmentManager.executePendingTransactions();
}
돌아 가기를 눌러 기능을 조각을 추가하고 흐름이 FragmentA입니다 (추가) ->
퀘스트 SION 1 : totalFragments가 2를 표시하는 이유는 무엇입니까? FragmentB를 A로 대체하는 동안
질문 2 : 두 개의 단편을 표시하는 뒤로 버튼을 계속 누르고 스택에서 어떻게 제거 할 수 있습니까?
질문 3 : FragmentB는 볼 수 있지만 FragmentA 조각의 수명주기가 너무 작업이 onResume을 ..means과에서 onCreate funcations 너무 이상한 요구하고 있지만