tabbedActivity中的android disable / enable选项卡

时间:2016-06-10 10:57:39

标签: android android-fragments android-tabs tabwidget

我无法在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 :(得分: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;
        }
    });
}