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
从java代码而不是XML运行选项卡_Java_Android_Xml_View_Tabs - Fatal编程技术网

从java代码而不是XML运行选项卡

从java代码而不是XML运行选项卡,java,android,xml,view,tabs,Java,Android,Xml,View,Tabs,我现在有4个选项卡,其中一个有一个自定义视图和一些小部件。为了使整个工作正常进行,我需要启动活动Tab3Activity,然后它才能正确运行(我知道这一点,因为我在清单中已将默认活动设置为该活动),但我现在拥有的是从xml文件运行的选项卡。。。这就是我所拥有的 th.setup(); TabSpec specs = th.newTabSpec("tag0"); specs.setContent(R.id.connecttionTab);

我现在有4个选项卡,其中一个有一个自定义视图和一些小部件。为了使整个工作正常进行,我需要启动活动
Tab3Activity
,然后它才能正确运行(我知道这一点,因为我在清单中已将默认活动设置为该活动),但我现在拥有的是从xml文件运行的选项卡。。。这就是我所拥有的

        th.setup();
        TabSpec specs = th.newTabSpec("tag0");
        specs.setContent(R.id.connecttionTab);
        specs.setIndicator("Connection Tab");
        th.addTab(specs);
        specs = th.newTabSpec("tag1");
        specs.setContent(R.id.tab1);
        specs.setIndicator("Zone Manager");
        th.addTab(specs);
        specs = th.newTabSpec("tag2");
        specs.setContent(R.id.tab2);
        specs.setIndicator("",res.getDrawable(R.drawable.ic_tab_vaccontrol));
        th.addTab(specs);
        specs = th.newTabSpec("tag3");
        specs.setContent(R.id.tab3);
        specs.setIndicator("Graphical Layout");
        th.addTab(specs);
这是需要启动的活动,此选项卡才能正常工作

public class Tab3Activity extends Activity 
{
    private Tab3 mTab3;
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.tab3);
        mTab3 = (Tab3) findViewById(R.id.tab3_display);
    }

    public void onAddZone(View view)
    {
        mTab3.addZone();
    }

}

如何从这样的java文件启动此选项卡,但其余选项卡仍从XML启动?

您可以为每个选项卡分配要启动的活动的意图,如下所示:

Intent intent = new Intent().setClass(this, Tab3Activity.class);
TabSpec spec = tabHost.newTabSpec("Tab3").setIndicator("Tab3").setContent(intent);
tabHost.addTab(spec);

这就是我在有选项卡的主要活动中使用的内容。

当我这样做时,Tab3Activity超越了所有其他xml,出现在每个选项卡上,这是否构成了场景?您是否为每个选项卡设置了意图?如果你现在上传了一个屏幕截图,可能会有所帮助。不,我只对其中一个使用了intent,其余的都是xml,因为我希望大多数选项卡都从同一个java文件运行。