2

먼저 와이어 프레임 이미지 http://i.imgur.com/dPAMA.png을 참조하십시오.뷰 페이지가 표시하는 조각 내 조각을 대체하십시오.

FragmentActivity 안에 조각을 표시하려면 ViewPager를 사용하고 있습니다. ViewPager는

mViewPager = (ViewPager) findViewById(R.id.view_pager);  
mAdapter = new HomePagerAdapter(getSupportFragmentManager());  
mViewPager.setAdapter(mAdapter); 

가정하자 viewpager가 Fragment1, Fragment2, Fragment3라고 표시하는 3 개 단편을 가지고 첨부에서 FragmentPagerAdapter 단편을 얻는다. 위 이미지에서 'fragment1 표시 중'은 첫 번째 조각 인 "Fragment1"의 제목입니다. 이 단편은 목록 단편이며 목록을 표시합니다. Fragment2와 Fragment3에는 표시 할 내용이 있습니다. 사용자가 화면을 스 와이프하면 ViewPager는 다음 단편 인 "Fragment2"를 표시합니다.

내가 원하는 것은 목록 (Fragment1로 표시)의 항목을 클릭 할 때 Fragment1이 다른 Fragment, Fragment4로 완전히 대체되어야한다는 것입니다 (이것은 다른 조각이며 첨부 된 어댑터에 의해 반환되지 않습니다) . Fragment4가 표시되면 작업 표시 줄의 내용이 변경되어야합니다. 사용자가 Fragment4 및 onBackPress에서 작업하거나 ActionBar에서 작업 할 때마다 목록이있는 Fragment1이 다시 표시되어야합니다. 한편 ViewPager는 스 와이프에서 동일하게 동작해야하며 다음 조각 (여기서는 Fragment2)이 표시됩니다.

는 기본적으로, 난은 예에서와 동일한 동작을 얻으려면이 예에서

http://developer.android.com/training/basics/fragments/fragment-ui.html#Replace

는 ListFragment는 FragmentActivity 내부에 직접 표시됩니다. ViewPager를 사용하여 ListFragment를 표시하고 있습니다. 위의 예제에서와 같은 기능을 원하지만 ViewPager로 파편을 표시합니다. 안드로이드 4.2가 출시되기 전에 이것은 매우 어려웠습니다. 이 버전의 안드로이드는 getChildFragmentManager()을 사용하여 중첩 된 조각을 지원하므로 약간의 희망이 있습니다.

나는 많은 시간 동안 내 편에서 이것을 시도하고 있으며 또한 Q에 대한 전체 stackoverflow를 스캔했습니다. & 중첩 된 조각과 관련되었지만 원하는 것을 얻지 못했습니다.

이렇게 달성 할 수 있습니까? 그렇다면 어떻게 할 것인가?

답변

1

이것은 안드로이드 4.2 이전에 큰 문제 였지만, 뒤로 버튼이 작동하는 것을 제외하고는 중첩 된 조각으로 이제는 더 쉬워 보입니다. 내 솔루션은 여기에 귀하의 질문에 게시 : https://stackoverflow.com/a/13925130/467509

내 솔루션은 ActionBar를 변경하는 것 외에 다른 질문에 모두 응답합니다.

관련 문제