2011-10-25 169 views
1

我正在开发一个带有tab主机的示例应用程序,并且我已经实现了它。 这是我的问题?我会逐步描述它。如何以编程方式设置选项卡的位置?

  • 假设有5个标签,位置为0,1,2,3,4。当我选择第四个标签时,应该在第二个标签上进行替换。

我该如何克服这个问题?

+1

http://stackoverflow.com/questions/7873522/how-to-get-the-position-of-tab-android/7873643#7873643 – Hades

回答

1

这是两岸前进,如果我理解你正确

tabHost.setCurrentTab(index) 

>编辑

你可以让你的标签的隐形

为 如果您在位置0想要隐形标签,然后它如下。

 tabWidget = (TabWidget) findViewById(android.R.id.tabs); 
     tabWidget.getChildTabViewAt(0).setVisibility(View.GONE); 

如果你想使其可见它是遵循

tabWidget.getChildTabViewAt(0).setVisibility(View.VISIBLE); 

,但如果你想删除旧的标签,并用新的替换它。然后,我不知道它是可以或不可以

+0

好吧我会同意你的,但我的要求,我是有三个标签命名为1,2,3,我想互相替换。 –

+0

可以ü扩大你的答案.. –

0

你应该试试这个:

FrameLayout frame = tabHost.getTabContentView(); 

View view1 = frame.getChildAt(pos1); 
View view2 = frame.getChildAt(pos2); 

frame.removeViewAt(pos1); 
frame.addView(view2, pos1); 

frame.removeViewAt(pos2); 
frame.addView(view1, pos2); 

这应与标签pos1位置pos2位置 我没有检查它切换标签,但它应该工作:)

+0

sry导致异常... –

+0

当我可以检查它,我帮你。在这一刻对我来说是不可能的。无论如何,这是一个关于如何解决它的想法。查看ViewGroup的文档...我希望能帮助你 – vicentazo

+0

当然我会检查谢谢你的回复...首先,我的工作很重要.. –

相关问题