如何在不使用活动组的情况下在Tab中启动新活动

时间:2012-11-21 12:10:54

标签: android tabs android-activity android-tabhost

我没有在项目中使用activityGroup。现在我不是使用Activity组实现整个项目的职位。

  • 我必须在我的项目中实现activityGroup类才能这样做吗?

如果是,那么请为activityGroup实现的基本教程提供链接。

这是我的MainActvity.java,它在4个标签中加载4个其他活动。

    public class MainActivity extends TabActivity {
        TabHost tabHost;
        Context context = MainActivity.this;
        Button btnGo;
        TabSpec spec;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main); 
            btnGo = (Button) findViewById(R.id.btn_GO);     
            tabHost = getTabHost();
            // Android tab
            Intent intentHome = new Intent();
            intentHome.setClass(this, Home.class);
            TabSpec tabSpecHome = tabHost
                    .newTabSpec("Home")
                    .setIndicator("Home",
                            getResources().getDrawable(R.drawable.home))
                    .setContent(intentHome);

            tabHost.addTab(tabSpecHome);

            Intent intentNowReading = new Intent().setClass(this, NowReading.class);
            TabSpec tabSpecNowReading = tabHost
                    .newTabSpec("Now Reading")

                    .setIndicator("Now Reading",
                            getResources().getDrawable(R.drawable.now_reading))
                    .setContent(intentNowReading);
            tabHost.addTab(tabSpecNowReading);

            Intent intentFavourite = new Intent().setClass(this, Favorites.class);
            TabSpec tabSpecFavourite = tabHost
                    .newTabSpec("Favourite")
                    .setIndicator("Favorites",
                            getResources().getDrawable(R.drawable.favorites))
                    .setContent(intentFavourite);
            tabHost.addTab(tabSpecFavourite);

            Intent intentProfile = new Intent().setClass(this, Profile.class);
            TabSpec tabSpecProfile = tabHost
                    .newTabSpec("Profile")
                    .setIndicator("Profile",
                            getResources().getDrawable(R.drawable.profile))
                    .setContent(intentProfile);
            tabHost.addTab(tabSpecProfile);
            tabHost.setCurrentTabByTag("Home");
...}

enter image description here

  • 现在我想在Go按钮的click事件的Home选项卡区域中启动新活动。(参见图片)。
  • 请注意我不想要阻止ActivityGroup类,如果没有这个,我怎么能这样做。
  • New Actvity必须在HomeTab区域加载,而不是全屏加载。

1 个答案:

答案 0 :(得分:0)

ActvityGroup是一个坏主意,这是旧的,已弃用的API,请勿使用它。

您必须使用Fragments API,只需创建一个片段并使用FragmentTransaction将其添加到布局中,这就是您需要的所有内容。