我创建了一个 viewPager 并且可以正常工作,我的问题是选择一个页面我只能拖动页面但我想单击选项卡来选择页面。现在我添加了一些新代码,但我找不到这个错误
我的代码
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) {
}
};
最佳答案
你不能像使用 viewPager.addOnAdapterChangeListener( new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
因为 addOnAdapterChangeListener()
方法需要 OnAdapterChangeListener
作为参数.您应该在 viewPager
上使用 void addOnPageChangeListener (ViewPager.OnPageChangeListener listener)
。它有几个 callback method , 所以当 viewPager
的页面改变时,你可以检测到 event
。
关于android - ViewPagerFragment 选项卡错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47588739/