WebView не отображается внутри TabHost на Honeycomb при первом открытии вкладки - PullRequest
0 голосов
/ 27 августа 2011

В моем приложении отображается следующее:

<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)когда я впервые открываю вкладку с описанием - веб-просмотр не отображается.После возврата на предыдущую вкладку и повторного открытия - веб-просмотр отображается правильно.

1 Ответ

1 голос
/ 28 августа 2011

Хотя я все еще думал, что это ошибка сота (но нашел здесь нечто подобное http://code.google.com/p/android/issues/detail?id=15399 для 2.2), я нашел обходной путь:

Используйте android: layout_height = "wrap_content" для веб-просмотра вместо fill_parent, по-прежнему дайте мне то, что я хочу, и сразу показывают.

...