2016-06-10 87 views
3

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

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

你能帮我吗? 预先感谢您!

回答

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