2016-11-15 4 views
0

나는 조각이있는 나는이 방법으로 추가 중첩 된 조각이있다. 내가 확인한 인스턴스가 null과 다릅니다.중첩 된 조각 다시 스택

업데이트 : Ashwin S Ashok이 제안한 코드를 변경했지만 여전히 작동하지 않습니다.

+0

add add replace를 사용해보세요. – zerocool

+0

위의 코드가 부모 조각에 있다고 가정하면'getFragmentManager()'를'getChildFragmentManager()'로 변경하면 제대로 동작합니까? – clownba0t

+0

추가/바꾸기 동일한 결과를 내십시오 – charbinary

답변

0

// 조각을 유지하지 않으려는 경우 사용하십시오.

protected void replaceFragmentStack(int container, Fragment fragment) { 
    FragmentManager fragmentManager = getSupportFragmentManager(); 
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
    fragmentTransaction.replace(container, fragment); 
    fragmentTransaction.commit(); 
} 

// 조각을 스택에 추가하려는 경우 사용하십시오.

protected void addFragmentStack(int container, Fragment fragment, String tag) { 
    FragmentManager fragmentManager = getSupportFragmentManager(); 
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
    fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); 
    fragmentTransaction.add(container, fragment, tag); 
    fragmentTransaction.addToBackStack(tag); 
    fragmentTransaction.commit(); 
} 
+0

제안을 시도했지만 다시 작동하지 않습니다. 내 다른 조각은 올바르게 작동하지만 중첩 된 조각으로는 작동하지 않습니다. – charbinary

0

나는 조각 내부 거래를 할 때 getChildFragmentManager()를 사용하는 것이 좋습니다 것입니다. 그리고 그것의 버그 같아요. 당신은

Android 4.2: back stack behaviour with nested fragments은 또한 당신이 궁금 Techizen의 다음 blog

을 통해 갈 필요가 alot을가 도움이 될 것입니다이 스레드를 확인하실 수 있습니다 것은

나는이 희망 동일한 메커니즘에 대한 github에 project 샘플에 대한 링크입니다 너를 도울 것이다.

+0

정보를 제공해 주셔서 감사합니다. 그러나 저는 파편에 많은 변화를 주어야하기 때문에 지원 도서관없이 정말로하고 싶습니다. – charbinary