Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中的指定选项卡内启动新活动_Android - Fatal编程技术网

在Android中的指定选项卡内启动新活动

在Android中的指定选项卡内启动新活动,android,Android,可能重复: 我正试图从“tab1”启动新活动,但活动会在整个屏幕上打开。我需要在触发意图的选项卡中打开新活动 您可以通过两种方式实现它,或者: 将选项卡的内容设置为ActivityGroup而不是activity,并根据导航更改ActivityGroup的视图。 但ActivityGroup已被弃用,所以我建议使用第二种方法 使用片段实现TabBar 您可以通过两种方式实现它: 将选项卡的内容设置为ActivityGroup而不是activity,并根据导航更改ActivityGroup的视图

可能重复:


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

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

  • 将选项卡的内容设置为ActivityGroup而不是activity,并根据导航更改ActivityGroup的视图。 但ActivityGroup已被弃用,所以我建议使用第二种方法
  • 使用片段实现TabBar

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

  • 将选项卡的内容设置为ActivityGroup而不是activity,并根据导航更改ActivityGroup的视图。 但ActivityGroup已被弃用,所以我建议使用第二种方法
  • 使用片段实现TabBar

  • 将此代码用于actionbar,并在选项卡中的片段中设置活动

    @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);
        }
    
    希望对你有用。
    谢谢..

    将此代码用于actionbar并在选项卡中的片段中设置活动

    @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);
        }
    
    希望对你有用。
    谢谢..

    您使用的是操作栏选项卡还是不推荐的选项卡activity?使用当前选项卡调用选项卡activity?您使用的是tabhost还是actionbar选项卡?您使用的是操作栏选项卡还是不推荐的TabActivity?使用当前选项卡调用选项卡activity?您使用的是tabhost还是actionbar选项卡?