【问题标题】:Starting new Activity within specified tab in Android [duplicate]在Android的指定选项卡中启动新活动[重复]
【发布时间】:2012-05-18 06:30:33
【问题描述】:

可能重复:
how to Keep Tabhost when start other activity

我正在尝试从“tab1”启动新活动,但活动会在整个屏幕上打开。我需要在触发意图的选项卡中打开新活动。

【问题讨论】:

  • 您使用的是操作栏选项卡还是已弃用的 TabActivity?
  • 使用您当前所在的标签页调用标签页活动
  • 你使用的是tabhost还是actionbar tab?

标签: android


【解决方案1】:

将此代码用于操作栏并在选项卡的片段中设置活动。

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        appContext = getApplicationContext();

       //ActionBar
        ActionBar actionbar = getActionBar();
        actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        ActionBar.Tab PlayerTab = actionbar.newTab().setText("Fragment A");
        ActionBar.Tab StationsTab = actionbar.newTab().setText("Fragment B");

        Fragment PlayerFragment = new AFragment();
        Fragment StationsFragment = new BFragment();

        PlayerTab.setTabListener(new MyTabsListener(PlayerFragment));
        StationsTab.setTabListener(new MyTabsListener(StationsFragment));

        actionbar.addTab(PlayerTab);
        actionbar.addTab(StationsTab);

把这个类放到tab中。

class MyTabsListener implements ActionBar.TabListener {
    public Fragment fragment;

    public MyTabsListener(Fragment fragment) {
        this.fragment = fragment;
    }

    @Override
    public void onTabReselected(Tab tab, FragmentTransaction ft) {
        Toast.makeText(StartActivity.appContext, "Reselected!", Toast.LENGTH_LONG).show();
    }

    @Override
    public void onTabSelected(Tab tab, FragmentTransaction ft) {
        ft.replace(R.id.fragment_container, fragment);
    }

    @Override
    public void onTabUnselected(Tab tab, FragmentTransaction ft) {
        ft.remove(fragment);
    }

希望它对您有用。 谢谢..

【讨论】:

    【解决方案2】:

    您可以通过两种方式实现它:

    1. 将 Tabs 的内容设置为 ActivityGroup 而不是 Activity,并根据导航更改 ActivityGroup 的视图。 TabGroupActivity - startChildActivity - not working 但是 ActivityGroup 已被弃用,所以我建议使用第二种方法。
    2. 使用片段来实现 TabBar。

    http://android.codeandmagic.org/2011/07/android-tabs-with-fragments/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多