2016-07-12 2 views
1

私はandroid.support.design.widget.TabLayoutandroid.support.v4.view.ViewPagerをアクティビティで使用しています。
エラーはありません。すべてのタブには罰金が表示され、選択できるようになり、スワイプが機能します。TabLayout onTabSelectedが呼び出されていません

アクティビティコード:

ViewPager mViewPager; 
TabLayout mSlidingTabs; 
mSlidingTabs = (TabLayout) findViewById(R.id.tabs); 
     mSlidingTabs.setupWithViewPager(mViewPager); 

     mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 
      @Override 
      public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { 
       Log.w(TAG, "onPageScrolled");// nothing happens here either 
      } 

      @Override 
      public void onPageSelected(int position) { 
       Log.w(TAG, "onPageSelected");// nothing happens here either 
      } 

      @Override 
      public void onPageScrollStateChanged(int state) { 
       Log.w(TAG, "onPageScrollStateChanged");// nothing happens here either 
      } 
     }); 
     mSlidingTabs.setOnTabSelectedListener(
       new TabLayout.ViewPagerOnTabSelectedListener(mViewPager) { 
        @Override 
        public void onTabSelected(TabLayout.Tab tab) { 
         super.onTabSelected(tab); 
         Log.w(TAG, "selected"); 
        } 
        @Override 
        public void onTabUnselected(TabLayout.Tab tab) { 
         Log.w(TAG, "onTabUnselected"); 
        } 

        @Override 
        public void onTabReselected(TabLayout.Tab tab) { 
         Log.w(TAG, "onTabReselected"); 
        } 
       }); 

私は何をしないのですか?コードの下

+0

アダプタを初期化しましたか? –

+0

はい、私はすべてのタブがうまく表示されている、私はそれらの中でスワイプを選択することができます@JoaquimLey – ericn

答えて

0

をsnyc tablayout:

  1. コール `setupWithViewPager();
  2. このようonTabSelectedListener();

追加:これが機能しない場合

mSlidingTabs.setupWithViewPager(mViewPager); 
mSlidingTabs.setOnTabSelectedListener(
    new TabLayout.ViewPagerOnTabSelectedListener(mViewPager) { 
    @Override 
    public void onTabSelected(TabLayout.Tab tab) { 
     super.onTabSelected(tab); 
     Log.d(TAG, "Tab selected"); 
    } 
}); 

を、問題は、あなたが提供するコードの範囲外である必要があります。そのような場合は、さらに調査するためにフィードバックをお願いします。

+0

はい、あなたは右@JoaquimLeyです、それはすでに実際には、私の愚か者だけが動作していた。 Android Studioでlogcatの出力をフィルタリングしたので、ログが表示されませんでした – ericn

+0

ニース@eric私はうれしいです;) –

0

& viewpagerがこの順序であなたのアクションを実行するようにしてください

pagerList.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));