我正在尝试为其他开发人员创建模板/ BaseActivity类,作为框架的一部分。
我使用TabActivity扩展了我的类,我的xml看起来像这样/
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost" android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<View android:layout_width="fill_parent" android:layout_height="0dip"
android:background="#000" />
<TabWidget android:id="@android:id/tabs"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_marginLeft="0dip" android:layout_marginRight="0dip" />
<View android:layout_width="fill_parent" android:layout_height="2dip"
android:background="#696969" />
<View android:layout_width="fill_parent" android:layout_height="1dip"
android:background="#fff" />
<FrameLayout android:id="@android:id/tabcontent"
android:layout_width="fill_parent" android:layout_height="fill_parent" />
</LinearLayout>
</TabHost>
当我通过在其他项目中扩展来使用此活动时,我收到一条错误说明,它无法获取android.R.id.tabhost,这是必要的。
即使我在两种情况下调用getTabHost()或findViewById(),也会发生这种情况。
请注意:我在没有扩展TabActivity的情况下尝试了这一点,以便在选项卡中使用视图。它工作正常。但我想将活动用作我的标签内容。
我认为当我们将它作为一个图书馆项目并包含它时,这就是问题。
如果您需要更多解释或者您知道一些解决方法,请告诉我们,请建议。
答案 0 :(得分:2)
我解决了这个问题。 提供了一个库类,要求用户将当前活动实例传递给我的templateLibrary。
它调用将Conetnt设置为包含android选项卡的布局文件之一。 然后获取标签主持人。
如果有人想了解更多细节,请告诉我。 如果您正在开发一个为用户提供布局的框架。