安卓禁用/启用选项卡在选项卡式活动



我无法禁用android选项卡式活动中的选项卡。选项卡式活动有 3 个选项卡,我想禁用中间的选项卡。

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

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);

你能帮帮我吗?提前谢谢你!

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

看看这个答案:

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;
        }
    });
}

相关内容

  • 没有找到相关文章

最新更新