为什么我的TabHost子活动找不到父TabHost ID?

时间:2012-03-18 18:56:24

标签: android android-tabhost

我有一个切换活动的TabHost活动,所以我的主要看起来像这样:

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:padding="5dp" >

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="-4dp"
            android:layout_weight="0" />

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:padding="5dp" />
    </LinearLayout>

</TabHost>

我的一个子活动XML是ListView:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

    </ListView>

</LinearLayout>

在这个子活动中,(扩展ListActivity)我正在尝试找到父TabHost:

TabHost tabHost = (TabHost) getParent().findViewById(R.id.tabhost);
tabHost.setCurrentTab(0);

但是,找不到R.id.tabhost(tabhost id cannot be resolved) 我做错了什么?

1 个答案:

答案 0 :(得分:3)

将其设为android.R.id.tabhost 它会工作。