第一次打开选项卡时,WebView上的TabH不会显示

时间:2011-08-27 11:09:33

标签: android webview android-3.0-honeycomb android-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:orientation="vertical"
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    android:paddingTop="0dip">
    <TabWidget android:id="@android:id/tabs"
        android:layout_width="fill_parent" android:layout_height="wrap_content" />
    <FrameLayout android:id="@android:id/tabcontent"
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:padding="5dp">
        <ScrollView android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            ....first tab content....
        </ScrollView>
        <WebView android:id="@+id/description" android:layout_width="fill_parent"
            android:layout_height="fill_parent" android:layout_weight="1">
        </WebView>
    </FrameLayout>
</LinearLayout>
</TabHost>

活动:

TabHost tabHost = getTabHost();
tabHost.addTab(tabHost.newTabSpec("tab_details").setIndicator("Details",getResources().getDrawable(R.drawable.ic_tab_details)).setContent(R.id.details));
tabHost.addTab(tabHost.newTabSpec("tab_description").setIndicator("Description",getResources().getDrawable(R.drawable.ic_tab_description)).setContent(R.id.description));
tabHost.setCurrentTab(0);

WebView descriptionView = (WebView)findViewById(R.id.description);

String formattedDescription = converter.toHtmlPage(description);
descriptionView.loadData(formattedDescription, "text/html", "utf-8");

Android 1.6-2.3的一切都很好但是在Honeycomb上(在Android 3.1模拟器上测试过) - 当我第一次打开描述标签时 - webview没有显示。返回上一个标签后再次打开 - 正确显示webview。

1 个答案:

答案 0 :(得分:1)

虽然我仍然认为这是Honeycomb的错误(但在这里找到类似于http://code.google.com/p/android/issues/detail?id=15399的2.2),我找到了解决方法:

对webview使用android:layout_height =“wrap_content”而不是fill_parent仍然可以提供我想要的内容并立即显示。