在Android中创建标签

时间:2013-06-21 10:30:08

标签: java android android-tabhost

我正在创建一个包含超过5个标签的应用。为了避免冗余,我想在循环中创建这些选项卡。但是,我很难弄清楚将布局组件附加到.java文件中的选项卡的语法。这是代码:

    myTabs.setup();

    for(int i=0;i<10;i++)
    {
        TabSpec tabSpecs = myTabs.newTabSpec("tag"+i);

        tabSpecs.setContent(R.id.imageView+i); // error here

        myTabs.addTab(tabSpecs);
    }

这可能是一个愚蠢的问题,但我希望我会得到你们的帮助。

此致

1 个答案:

答案 0 :(得分:0)

您使用错误的View ID的问题。您应该仅使用生成的R类中的id。 阅读setContent method并尝试下一步: 如果你想要atach不同的视图,你需要创建一个视图ID列表。

ArrayList<Integer> list = new ArrayList<Integer>();
list.add(R.id.R.id.imageView1);
list.add(R.id.R.id.imageView2);
list.add(R.id.R.id.imageView3);

 for(int i=0;i<2;i++)
 {
        TabSpec tabSpecs = myTabs.newTabSpec("tag"+i);
        tabSpecs.setContent(list.get(i)); 
        myTabs.addTab(tabSpecs);
 }

但您应该在资源文件夹中定义所有imageView。 您也可以查看此example

如果您查看示例,您将看到tab1,tab2和tab3-ID在XML文件中定义,因此您的IDE将生成R类并包含其ID。