Как программно переключить вкладки в android из фрагмента?
Я реализовал TabActivity
, который расширяет FragmentActivity
. Он имеет 5 вкладок, каждая вкладка - Fragment
. Я ищу, чтобы программно переключаться между вкладками.
Например:, если я нахожусь в tab4. При нажатии кнопки я хочу перейти от tab4
в tab1
. Пробовал много, но не смог найти решение для этого.
Пробовал следующее, но это не помогает.
Из SecondTab
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);
}
Ответы
Ответ 1
Наконец, я могу программно переключаться между вкладками из Фрагментов, используя следующую строку кода
TabHost host = (TabHost) getActivity().findViewById(android.R.id.tabhost);
host.setCurrentTab(2);
Надеюсь, это поможет кому-то.
Ответ 2
для поддержки материалов вы переключаете tablayout из фрагмента следующими способами:
1) отправить широковещательную рассылку, полученную родительской активностью, которая затем изменяет вкладку.
context.sendBroadcast(yourintent);
2.) Модификация ответа vino,
TabLayout tabhost = (TabLayout) getActivity().findViewById(R.id.tabLayout);
tabhost.getTabAt(2).select();
tablayout - это идентификатор tablayout, как определено в вашем основном xml.
Ответ 3
Взгляните на этот ответ: fooobar.com/info/487722/...
((TabActivity) getParent()).getTabHost().setCurrentTab(2)