2016-09-30 4 views
0

TabLayoutViewPager이 있습니다. ViewPager, 나는 몇 Fragment 년대의 A1 (기본값)을 표시 탭 A의 지금 탭 B에 대한 동일한 I 탭 A를 공격 할 때 A와 B가TabLayout ViewPager 명확한 부분

이 나에게 올바른보기를 보여줍니다 두 개의 탭 항목을 가지고 있습니다 -> A2 -> A3. 탭 B를 누른 다음 탭 A로 돌아 가면 A3가 계속 표시됩니다. Tab A를 누를 때마다 Fragment A1로 어떻게 이동할 수 있습니까? 이 로직 (ViewPager 또는 TabLayout.ViewPagerOnTabSelectedListener)을 추가 할 위치가 확실치 않으며 기본값은 A1 Fragment입니다.

아이디어가 있으십니까?

답변

0

A1> A2> A3에서 이것은 조각을 바꾸는 방법입니다.

그냥 이라고 부르면 조각을 세 조각 모두 동일한 컨테이너로 바꿉니다.

public void replaceFragment(Fragment fragment, int container, String tag) { 
    mFragmentManager = getFragmentManager(); 
    mFragmentTransaction = mFragmentManager.beginTransaction(); 
    mFragmentTransaction.replace(containerId, fragment, tag); 
    mFragmentTransaction.addToBackStack(tag); 
    mFragmentTransaction.commit(); 
} 

그리고 다시 버튼을 누르면에 대한

: 제거 조각이 방법 여기

public void removeFragment() { 
    mFragmentManager = getFragmentManager(); 
    mFragmentManager.popBackStack(); 
} 

당신이 B 탭으로 이동, 조각 A3의 상태가 파괴 돌아 가기에 올 때마다이 도움이되기를 바랍니다.