2013-06-21 52 views
0

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

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); 
    } 

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

Regards

回答

0

您的问题,您使用不正确的查看ID。你只能从生成的R类中使用id。 阅读关于setContent method并尝试做下一个: 如果你想在不同的视图,你需要创建视图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); 
} 

但是你应该在资源文件夹中定义所有的imageViews。 你也可以看看这个example

如果你看一下例子中,你会看到,TAB1,TAB2和TAB3 - ID在XML文件中定义所以你的IDE生成R舱,包括他们的ID

+0

所以,如果我有24个标签,每个标签下。我想显示图像,我可以为所有标签使用一个图像视图。 – user2498079

+0

你想为所有选项卡设置一个图像?这意味着你会看到相同的内容。我认为这是可行的,但我需要看看你的XML布局是肯定的。你能更新你的文章并添加XML吗? – Borys

相关问题