我创建了一个带有5个选项卡的TabHost安卓应用程序,所有选项卡都使用webview作为内容(某些本地某些www)。这一切都运行得很顺利,但是当应用程序首次启动时,浏览器会启动其中一个网站,以便在其中一个选项卡的webview中加载。按后退按钮可关闭浏览器并将您带到应用程序本身。任何想法为什么这样做?
我的所有标签都有相同的基本代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TabHost tabHost=(TabHost)findViewById(R.id.tabHost);
tabHost.setup();
TabSpec spec1=tabHost.newTabSpec("Tab 1");
spec1.setContent(R.id.tab1);
spec1.setIndicator("Start",getResources().getDrawable(R.drawable.ic_tab_start_selected));
WebView start = (WebView) findViewById(R.id.webview);
start.loadUrl("file:///android_asset/start.html");
使用如下的main.xml文件:
<TabHost android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/tabHost"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<TabWidget
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@android:id/tabs"
/>
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@android:id/tabcontent"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/tab1"
android:orientation="vertical"
android:paddingTop="60px"
>
<WebView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
答案 0 :(得分:0)
为什么会这样做?
是 - 因为您明确创建WebView
的“全屏”实例,该实例与您的Activity / TabHost以及使用此代码的Tab内容分开...
WebView start = (WebView) findViewById(R.id.webview);
start.loadUrl("file:///android_asset/start.html");
...评论这两行,看看会发生什么。