Android-приложение запускает браузер вместо приложения - PullRequest
1 голос
/ 21 ноября 2011

Я создал приложение для Android TabHost с 5 вкладками, каждая из которых использует веб-вид для контента (некоторые локальные, некоторые www). Все работает гладко, но при первом запуске приложения запускается браузер с одним из сайтов, предназначенным для загрузки в веб-просмотре для одной из вкладок. Нажатие кнопки «Назад» закрывает браузер и приводит вас к самому приложению. Есть идеи, почему он это делает?

Все мои вкладки имеют одинаковый базовый код:

 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 голосов
/ 21 ноября 2011

Есть идеи, почему это происходит?

Да - поскольку вы явно создаете «полноэкранный» экземпляр WebView, который отделен от вашего Activity / TabHost и содержимого Tab с помощью этого кода ...

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

... закомментируйте эти две строки и посмотрите, что произойдет.

...