Android:如何动态更改打开的选项卡

hom*_*a52 0 tabs android dynamic android-activity

我有一个Android应用程序有四个选项卡(我使用主TabActivity与TabHost和TabSpecs).在我的一个子活动(在选项卡中打开的活动)中,我需要打开选项卡而不是通过单击选项卡标题,我不知道如何执行此操作.例如,我的活动中有一个按钮,当我点击它时,它会打开一个不同的选项卡.目前,这就是我所做的: 然后在TabActivity中,如果我真实地阅读"ComeFrom"额外我打开了希望的标签,但问题是它会杀死所有其他活动.所以,如果有人知道更好(更清洁)的方法来做这个伎俩,请告诉我......

Intent intent = new Intent(myActivity.this, myTabActivity.class);
intent.putExtra("ComeFrom", true);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

小智 5

找到一个更容易(我认为)的答案:

  1. 在TabActivity上声明一个public,static和self变量,并在onCreate方法上填充它.铁:

    public class TheActivity extends TabActivity {
        public static TheActivity self;
        ...
        @Override
        public void onCreate(Bundle savedInstanceState) {
            self=this;
    
    Run Code Online (Sandbox Code Playgroud)
  2. 当您想要更改应用程序上显示的活动时,在选项卡中运行的任何活动上.你可以这样做:

    TabHost tabHost = TheActivity.self.getTabHost();
    tabHost.setCurrentTab(0);
    
    Run Code Online (Sandbox Code Playgroud)

为我工作好,希望为别人服务!

  • 这也可能是解决这个问题的好方法,谢谢Zalakain! (2认同)