2017-09-25 13 views
0

ViewPager(3項目)にアイコンがあります。最初の項目にアイコンが選択されている場合は、次の項目にスワイプすることができます。選択された2番目のアイコンの後に、ビューページの3番目の項目に行く可能性があります。 私はページインジケータ(ドット)を持っています。これはsetupWithViewPagerによってViewPagerに接続されています。 問題は、tablayoutのclickableをfalseに設定し、viewPagerのアイコンが選択されている場合にステップをアンロックすることです。これですべての「点」がクリック可能になり、ViewPagerのすべての項目に移動できます。ビューページで設定したときにtablayoutを無効にする

私はOnPageSelected関数でTabLayoutで操作できます... どうすれば変更できますか?

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View rootView = inflater.inflate(R.layout.fragment_photo_wizard, container, false); 

    findViews(rootView); 

    setOnClickListeners(); 
    buildTypeFragmentPagerAdapter = new BuildTypeFragmentPagerAdapter(getChildFragmentManager(), state); 


    buildTypeViewPager.addOnPageChangeListener(new PageListenerAdapter() { 
     public void onPageSelected(int position) { 
      state.moveToPage(position); 
      refreshViewState(false); 
     } 
    }); 

    dotsView.setupWithViewPager(buildTypeViewPager); 


    return rootView; 
} 

私はdotsView falseにクリッカブル設定することができ、それが動作しません...

答えて

0

APIのためにこれを試してみてください> 24:

tabLayout.clearOnTabSelectedListeners(); 

かについて< 24:

tabLayout.setupWithViewPager(viewPager); 

LinearLayout tabStrip = ((LinearLayout)tabLayout.getChildAt(0)); 
for(int i = 0; i < tabStrip.getChildCount(); i++) { 
    tabStrip.getChildAt(i).setOnTouchListener(new View.OnTouchListener() { 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      return true; 
     } 
    }); 
} 
+0

それは動作しません... 私はonPageSelected関数でのみタブで操作することができるようです。理由を知らない。 – kokokd

関連する問題