2017-12-01 9 views
1

私はviewPagerを作成して動作しますが、私の問題はページをドラッグするだけですが、タブをクリックしてページを選択したいのです。今私はいくつかの新しいコードを追加しますが、私は私のコードaddOnAdapterChangeListener()方法はparamenterとしてOnAdapterChangeListenerを期待しているのであなたがviewPager.addOnAdapterChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));ように使用カントViewPagerFragmentタブエラー

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

enter image description here

このエラーを見つける傾けます。代わりにviewPagervoid addOnPageChangeListener (ViewPager.OnPageChangeListener listener)を使用してください。callback methodが複数あるため、viewPagerのページが変更されたときにeventを検出できます。

Reference

+0

あなたはそれを解決することができ、これを試してください? –