Android禁用/启用TabbedActivity中的选项卡

3

我无法在Android标签式活动中禁用一个标签页。

该标签式活动有3个标签页,我想禁用中间的标签页。

我在我的片段中尝试了以下代码,但变量middleTabView始终为null!

TabLayout tabhostNew = (TabLayout) getActivity().findViewById(R.id.tabs);
TabLayout.Tab middleTabView  = tabhostNew.getTabAt(1).getCustomView();
middleTabView.setEnabled(false); //does not work, because middleTabView is null

以下代码应该可以工作,但是我无法获得变量 tabwidget
tabHost.getTabWidget().getChildTabViewAt(your_index).setEnabled(false);

你能帮我吗?

提前感谢!

1个回答

0

你正在尝试调用的方法 getTabWidget() 是在 TabHost 类中实现的,而不是在你正在使用的 TabLayout 中。

查看this answer

TabLayout tabLayout = (TabLayout) getActivity().findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager); // if you are using a view pager

LinearLayout tabStrip = ((LinearLayout)mTabLayout.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;
        }
    });
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接