2017-12-01 2 views
1

저는 viewPager를 만들고 작동합니다. 내 문제는 페이지를 드래그 할 수 있지만 탭을 클릭하여 페이지를 선택하려고합니다. 지금은 몇 가지 새로운 코드를 추가하지만 난이 오류ViewPagerFragment 탭 오류

enter image description here

내 코드

public class MainActivity extends FragmentActivity{ 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    final ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager); 
    Pager adapter = new Pager(getSupportFragmentManager()); 
    viewPager.setAdapter(adapter); 

    TabLayout tabLayout = (TabLayout) findViewById(R.id.tablayout); 
    tabLayout.setupWithViewPager(viewPager); 

    viewPager.addOnAdapterChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout)); 




    TabLayout.OnTabSelectedListener tabListener = new TabLayout.OnTabSelectedListener() { 
     @Override 
     public void onTabSelected(TabLayout.Tab tab) { 
      viewPager.setCurrentItem(tab.getPosition()); 
     } 

     @Override 
     public void onTabUnselected(TabLayout.Tab tab) { 

     } 

     @Override 
     public void onTabReselected(TabLayout.Tab tab) { 

     } 
    }; 
+0

이가 ... https://stackoverflow.com/questions/34271137/viewpager-addonpagechangelistener-not-working-on-same-tabclick –

답변

1

addOnAdapterChangeListener() 방법은 paramenter로 OnAdapterChangeListener을 기대하기 때문에 당신은 viewPager.addOnAdapterChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));처럼 사용 질수을 찾을 수 없습니다. 대신 viewPagervoid addOnPageChangeListener (ViewPager.OnPageChangeListener listener)을 사용해야합니다.이 숫자는 callback method이므로 viewPager 페이지가 변경되면 event을 감지 할 수 있습니다.

Reference

+0

당신이 그것을 해결할 수하려고? –