2017-10-12 4 views
-1

하위 조각에서 단추를 클릭하면 다음 탭으로 전환해야합니다.하위 조각에서 다음 탭을 선택하는 방법

이 부모의 I 설정 탭,

TabAdapter adapter; 

private void setUpTabs(ViewPager viewPager) { 

    adapter = new TabAdapter(getSupportFragmentManager()); 
    adapter.addFragment(new FirstTabFragment(), "First Tab"); 
    adapter.addFragment(new SecondTabFragment(), "Second Tab"); 
    viewPager.setAdapter(adapter); 

} 

그리고 내 TabAdapter 클래스는,

public class TabAdapter extends FragmentPagerAdapter { 
    private final List<Fragment> mFragmentList = new ArrayList<>(); 
    private final List<String> mFragmentTitleList = new ArrayList<>(); 

    public TabAdapter(FragmentManager manager) { 
     super(manager); 
    } 

    @Override 
    public Fragment getItem(int position) { 
     return mFragmentList.get(position); 
    } 

    @Override 
    public int getCount() { 
     return mFragmentList.size(); 
    } 

    public void addFragment(Fragment fragment, String title) { 
     mFragmentList.add(fragment); 
     mFragmentTitleList.add(title); 
    } 

    @Override 
    public CharSequence getPageTitle(int position) { 
     return mFragmentTitleList.get(position); 
    } 
} 

내가

TabLayout myTabs= (TabLayout) findViewById(R.id.my_tabs); 

Button chkBtn = (Button) findViewById(R.id.check_button); 

chkBtn.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     viewPager.setCurrentItem(1); 
    } 
}); 

전환 부모의 내부 탭을 전환하는 방법을 생성하는 방법이다 부모 클래스 내부 탭 잘 작동합니다. 그러나 어떻게하면 같은 내부에서 할 수 있을까요 FirstTabFragment, 도와주세요.

답변

1

는 그냥 UI가 더 인터랙티브하고 좋은 찾고 만들기 위해 호출해야 구현.

단편의 Java 파일에서 viewPager에 액세스하려면 부모 활동에서 아래에 표시된대로 viewPager을 선언하십시오.

public static ViewPager viewPager; 

그런 다음 조각에서 버튼의 onClick 방법 또는 onClickListener에, 당신은이를 사용할 수 있습니다. 당신이 바로 당신이 viewPager의 스크롤을 해제 할 수 있습니다 스크롤에서 사용자를 제한하려면

ParentActivity.viewPager.arrowScroll(View.FOCUS_RIGHT); 

이 스크롤 부드럽게 할 것이다 당신의 두 번째 조각에 viewpager, 그리고 네, here를 참조하십시오.

사용자가 단지

ParentActivity.viewPager.arrowScroll(View.FOCUS_LEFT); 

에 의해 FirstFragment 다시 가고 싶은 경우도 왼쪽으로 초점을 전환 할 수 있습니다 그리고 네, 그것은 나를 바보, 게시 대답하기 전에 첫 번째 테스트로 일하고있다.

3

당신은 setCurrentItem(int item)

현재 선택된 페이지를 설정 사용해야합니다. `

샘플 코드는

chkBtn.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     viewPager.setCurrentItem(2); 
    } 
}); 
+0

감사합니다. 그것은 나를 도왔다. 나는 문제의 편집을했다. u를 도와주세요. – ChyperX

+0

@user8595331 자세히 설명해주세요. –

2

당신은 내가했습니다 어떤 거 공유 해요,

viewPager.setCurrentItem(fragmentIdex);