2016-06-10 85 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; 
     } 
    }); 
}