I가되는 I는 다음과 같은 방법을 사용하여 단편을 전환하고 활성을 가지고FragmentManager에서 이전 백 스택 항목을 제거하는 방법은 무엇입니까?
public void setCurrentFragment(Fragment fragment) {
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.setCustomAnimations(R.anim.slide_left_right_in, R.anim.slide_left_right_out, R.anim.slide_right_left_in, R.anim.slide_right_left_out);
transaction.replace(R.id.contentFrameLayout, fragment, Integer.toString(fragmentId++));
transaction.addToBackStack(Integer.toString(fragmentId));
transaction.commit();
}
내 탐색 스택은 다음과 같다 :
N-2 -> N-1 -> N
때 특정 단편 N이 '열림'입니다. 이전 단락 (N-1)이 뒷받침에서 제거되기를 원하므로 '뒤로'를 누르면 N-2 단편을 복원해야합니다.
N 조각에서 FragmentManager.popBackStack (..)을 호출하면 N 및 N-1 조각이 제거됩니다.
N 조각으로 전환하기 전에 N-1 조각에서 popBackStack (..)을 호출하려고했습니다. 그러나이 경우 N-2 단편이 다시 시작되고 그 후에 N 단편이 표시됩니다.
내 질문은 : 현재 조각을 팝핑하지 않고 백 스택에서 이전 조각을 제거 할 수있는 방법이 있습니까?
같은 문제에 직면 한 것과 같은 해결책이 있습니까? –