【问题标题】:android disable / enable tab in tabbedActivityandroid在tabbedActivity中禁用/启用选项卡
【发布时间】:2017-06-14 02:31:55
【问题描述】:

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

我在 Fragment 中尝试了以下代码,但变量 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);

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

【问题讨论】:

    标签: android android-fragments android-tabs tabwidget


    【解决方案1】:

    您尝试调用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;
            }
        });
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-07
      • 1970-01-01
      • 1970-01-01
      • 2016-03-13
      相关资源
      最近更新 更多