我正在创建一个包含超过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);
}
这可能是一个愚蠢的问题,但我希望我会得到你们的帮助。
此致
答案 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。