我有一个带有viewPager的TabLayout设置。 TabLayout实际上是三个点(就像在一些介绍页面上一样)。 我的目标是在第一个点上禁用第三个点上的可点击。 但是,当我在第二个点时,应该可以移动到第三个点。
我尝试了许多解决方案。 现在我有可能首先从第一个点移动到第三个点。但是在第一次移动之后,禁用从第一个和第二个点移动到第三个点。
您对如何修复代码有任何想法吗? 谢谢。
dotsView.setupWithViewPager(buildTypeViewPager);
buildTypeViewPager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
public void onPageSelected(int position) {
switch (position) {
case 0:
if (getmLastPage() == 1 || getmLastPage() == 2) {
((LinearLayout) dotsView.getChildAt(0)).getChildAt(2).setEnabled(true);
state.moveToPage(position);
refreshViewState(false);
setmLastPage(position);
}
else ((LinearLayout) dotsView.getChildAt(0)).getChildAt(2).setEnabled(false);
break;
case 1:
if (getmLastPage() == 1 || getmLastPage() == 2) {
((LinearLayout) dotsView.getChildAt(0)).getChildAt(2).setEnabled(true);
state.moveToPage(position);
refreshViewState(false);
setmLastPage(position);
}
else ((LinearLayout) dotsView.getChildAt(0)).getChildAt(2).setEnabled(false);
break;
case 2:
if (getmLastPage() == 1 || getmLastPage() == 2) {
((LinearLayout) dotsView.getChildAt(0)).getChildAt(2).setEnabled(false);
state.moveToPage(position);
refreshViewState(false);
setmLastPage(position);
} else ((LinearLayout) dotsView.getChildAt(0)).getChildAt(2).setEnabled(true);
break;
}
}
});