我实现了一个扩展FragmentActivity
的TabActivity
。它有5个选项卡,每个选项卡是一个Fragment
。我正在寻找的是以编程方式在选项卡之间切换。
**例如:**如果我在选项卡4中。单击按钮时,我想从tab4
移动到tab1
。尝试了很多方法,但无法找到解决方案。
尝试以下方法,但没有帮助。
从第二个选项卡
public void switchTabInActivity(String value){
FirstTab parent;
parent = (FirstTab) getActivity().getParent();
parent.switchTab(value);
}
选项卡活动
/** To Change Tab*/
public void switchTab(String tabno){
this.onTabChanged(tabno);
}
7条答案
按热度按时间izkcnapc1#
对于材质支持,您可以通过以下方式从片段切换选项卡布局:
1)发送由父Activity接收的广播,然后父Activity修改选项卡。
2.)对维诺回答的修正,
tablayout是在主xml中定义的tablayout的id。
myzjeezk2#
最后,我可以使用下面的代码行通过Fragments编程在选项卡之间切换
希望能对一些人有所帮助。
o3imoua43#
我的主活动中有选项卡(使用TabLayout而不是TabHost(折旧))(带有片段),其中在我的第一个选项卡(片段)中,片段中有一个点击侦听器,用于更改我的主活动中的当前选项卡。
我通过片段中onCreateView()方法中的以下命令成功更改了当前选项卡。
r8uurelv4#
看看这个答案:https://stackoverflow.com/a/5460651/198996
jdzmm42g5#
如果您使用的是TabLayout而不是TabHost,我建议您修改一下BENN1TH的答案:
(The差值为
R.id.tab_layout
)pzfprimi6#
对于Kotlin,请使用此表单片段
7y4bm7vi7#
下面是“新”的Kotlin的另一种方法:
使用
?.
代替!!
以避免Assert。