简体   繁体   English

从片段更改选项卡/片段

[英]Change Tab / Fragment from Fragment

I have a Main.class that extends from FragmentActivity and implements TabHost.OnTabChangeListener. 我有一个从FragmentActivity扩展并实现TabHost.OnTabChangeListener的Main.class。 I have have 4 tabs ans this call 4 class that extends from Fragment. 我有4个选项卡,这是从Fragment扩展的4类。

For example if I am in the fragment of the tab1 and press a button to access the tab2, I do the following: 例如,如果我在tab1的片段中,然后按一个按钮来访问tab2,则可以执行以下操作:

public class Tab01 extends Fragment {
...
Intent intent = new Intent(getActivity(), Main.class);
intent.putExtra("Screen","Tab02");
Tab01.this.startActivity(intent);
getActivity().finish();
...
}

And in Main.class : 在Main.class中:

public class Main extends FragmentActivity implements TabHost.OnTabChangeListener {
.....
private void initialiseTabHost(Bundle args) {
..
String nameTab = "";
String nameTabExtra = myIntent.getStringExtra("Screen");
if(nameTabExtra == null){
            mTabHost.setCurrentTab(0);
        }else{
            if (nameTabExtra.equals("Tab01")){
                nameTab = "Tab01";
                mTabHost.setCurrentTab(0);
            }else if (nameTabExtra.equals("Tab02")){
                nameTab = "Tab02";
                mTabHost.setCurrentTab(1);              
            }else if (nameTabExtra.equals("Tab03")){
                nameTab = "Tab03";
                mTabHost.setCurrentTab(2);
            }else if (nameTabExtra.equals("Tab04")){
                nameTab = "Tab04";
                mTabHost.setCurrentTab(3);
            } 
        }
this.onTabChanged(nameTab);

This works but is it the only way? 这有效,但这是唯一的方法吗? Thanks 谢谢

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM