android отключить/включить вкладку в tabbedActivity

Я не могу отключить вкладку в активности с вкладками 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);

Не могли бы вы мне помочь? Заранее спасибо!


person atas priv    schedule 10.06.2016    source источник


Ответы (1)


Метод, который вы пытаетесь вызвать, реализован 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;
        }
    });
}
person winklerrr    schedule 13.06.2017