Как программно переключить вкладки в android из фрагмента?

Я внедрил TabActivity который расширяет FragmentActivity . Он имеет 5 вкладок, каждая вкладка – это Fragment . Я ищу, чтобы переключаться между вкладками программно.

Например, если я нахожусь в tab4. При нажатии кнопки я хочу перейти от tab4 к tab1 . Пробовал много, но не смог найти решение для этого.

Пробовал следующее, но это не помогает.

Начиная со старых

 public void switchTabInActivity(String value){ FirstTab parent; parent = (FirstTab) getActivity().getParent(); parent.switchTab(value); } 

TabActivity

  /** To Change Tab*/ public void switchTab(String tabno){ this.onTabChanged(tabno); } 

Наконец, я могу программно переключаться между вкладками из фрагментов, используя следующую строку кода

  TabHost host = (TabHost) getActivity().findViewById(android.R.id.tabhost); host.setCurrentTab(2); 

Надеюсь, это поможет кому-то.

Для поддержки материалов вы переключаете tablayout из фрагмента следующими способами:

1) отправить широковещательную рассылку, полученную родительской активностью, которая затем изменяет вкладку.

 context.sendBroadcast(yourintent); 

2.) Модификация ответа vino,

 TabLayout tabhost = (TabLayout) getActivity().findViewById(R.id.tabLayout); tabhost.getTabAt(2).select(); 

Tablayout – это идентификатор tablayout, как определено в вашем основном xml.

Взгляните на этот ответ: https://stackoverflow.com/a/5460651/198996

 ((TabActivity) getParent()).getTabHost().setCurrentTab(2)