0

我正在创建一个具有 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);
    }

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

问候

4

1 回答 1

0

您使用不正确的 View id 的问题。您应该只使用生成的 R 类中的 id 。阅读setContent 方法并尝试执行以下操作:如果要附加不同的视图,则需要创建视图 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);
 }

但是您应该在资源文件夹中定义所有图像视图。你也可以看看这个例子

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

于 2013-06-21T10:40:59.210 回答