Java 使用viewpager设置时,禁用单击表格布局

Java 使用viewpager设置时,禁用单击表格布局,java,android,android-viewpager,android-tablayout,Java,Android,Android Viewpager,Android Tablayout,我有一个带有图标的ViewPager(3个项目)。在第一个项目上选择图标时,可以滑动到下一个项目。等等。选择第二个图标后,可以转到viewpager的第三项。 我有一个页面指示器(点),它通过设置WithViewPager与ViewPager连接。 问题是我想将TableLayout上的clickable设置为false,如果选择了viewPager上的图标,则解锁步骤。现在所有的“点”都可以点击,我可以进入ViewPager的所有项目 我只能在OnPageSelected函数中使用TabLay

我有一个带有图标的ViewPager(3个项目)。在第一个项目上选择图标时,可以滑动到下一个项目。等等。选择第二个图标后,可以转到viewpager的第三项。 我有一个页面指示器(点),它通过设置WithViewPager与ViewPager连接。 问题是我想将TableLayout上的clickable设置为false,如果选择了viewPager上的图标,则解锁步骤。现在所有的“点”都可以点击,我可以进入ViewPager的所有项目

我只能在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的clickable设置为false,但它不起作用…

请尝试此api>24:

tabLayout.clearOnTabSelectedListeners();
或者对于请尝试以下api>24:

tabLayout.clearOnTabSelectedListeners();

或者对于,您可以扩展TabLayout类并重写“setupWithViewPager”方法。您需要调用super方法来填充选项卡。然后,这将使用选项卡进行迭代并禁用单击:

@Override
public void setupWithViewPager(@Nullable ViewPager viewPager) {
    super.setupWithViewPager(viewPager);

    for (int i = 0; i < getTabCount(); i++) {
        Tab tab = getTabAt(i);
        if (tab != null) {
            tab.view.setClickable(false);
        }
    }
}
@覆盖
带有ViewPager的公共无效设置(@Nullable ViewPager ViewPager){
super.setupWithViewPager(viewPager);
for(int i=0;i
您可以扩展TabLayout类并重写“setupWithViewPager”方法。您需要调用super方法来填充选项卡。然后,这将使用选项卡进行迭代并禁用单击:

@Override
public void setupWithViewPager(@Nullable ViewPager viewPager) {
    super.setupWithViewPager(viewPager);

    for (int i = 0; i < getTabCount(); i++) {
        Tab tab = getTabAt(i);
        if (tab != null) {
            tab.view.setClickable(false);
        }
    }
}
@覆盖
带有ViewPager的公共无效设置(@Nullable ViewPager ViewPager){
super.setupWithViewPager(viewPager);
for(int i=0;i
它不工作。。。似乎我只能在onPageSelected函数中使用选项卡进行操作。不知道为什么。它不起作用。。。似乎我只能在onPageSelected函数中使用选项卡进行操作。不知道为什么。