自定义TabHost-问题处理以XML格式添加的子项

时间:2011-05-22 20:21:30

标签: android android-layout

我已经构建了一个自定义组件,该组件扩展了TabHost,默认情况下会将所需的TabwWidgetFrameLayout添加到所需的Ids

这很好用,但我想处理xml文件中定义的子项。

<my.custom.TabHost>
    <LinearLayout android:id="@+id/layout"></LinearLayout>          
</my.custom.TabHost>

如果定义如下,我想自动调用一个方法,该方法会从TabSpec调出View并将其添加到TabHost

但是我不知道孩子何时被添加到View,所以我不知道在哪里检查我是否应该正常添加Views,或者从中TabSpec

有没有办法实现这个目标?

在构造函数之后,只添加了2个默认子项TabWidgetFrameLayout),childcount is 2

onlayout后,childCount is 3。但是哪个methoid被称为?

我检查了addVIewInLayout,但仍无效果。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我自己解决了。这很简单,我没有先检查一下; - )

只需覆盖addview的所有方法,如果它是Views所需的两个TabHost之一,请检入它们,然后调用super.addView(),否则创建来自TabSpec的{​​{1}},并通过View添加。