Android应用程序启动浏览器而不是应用程序

时间:2011-11-21 17:27:59

标签: android webview android-tabhost

我创建了一个带有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>

1 个答案:

答案 0 :(得分:0)

  

为什么会这样做?

是 - 因为您明确创建WebView的“全屏”实例,该实例与您的Activity / TabHost以及使用此代码的Tab内容分开...

WebView start = (WebView) findViewById(R.id.webview); 
start.loadUrl("file:///android_asset/start.html");

...评论这两行,看看会发生什么。