Зависание в ActivityThread? - PullRequest
0 голосов
/ 15 мая 2011

Любая подсказка, почему мое приложение Android висит на этом блоке кода, когда я пытаюсь отладить его в Eclipse?

public static final int REMOVE_PROVIDER         = 131;

-

package com.example.myapp;

import android.app.TabActivity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.TabHost;

public class TEHWARRiORS extends TabActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Resources res = getResources(); // Resource object to get Drawables
        TabHost tabHost = getTabHost();  // The activity TabHost
        TabHost.TabSpec spec;  // Resusable TabSpec for each tab
        Intent intent;  // Reusable Intent for each tab

        // Create an Intent to launch an Activity for the tab (to be reused)
        intent = new Intent().setClass(this, Start.class);

        // Initialize a TabSpec for each tab and add it to the TabHost
        spec = tabHost.newTabSpec("Start").setIndicator("",
                          res.getDrawable(R.drawable.ic_tab_navbar_admins))
                      .setContent(intent);
        tabHost.addTab(spec);

        // Do the same for the other tabs
        intent = new Intent().setClass(this, Servrar.class);
        spec = tabHost.newTabSpec("Servrar").setIndicator("Servrar",
                          res.getDrawable(R.drawable.ic_tab_navbar_admins))
                      .setContent(intent);
        tabHost.addTab(spec);

        intent = new Intent().setClass(this, Admins.class);
        spec = tabHost.newTabSpec("Admins").setIndicator("Admins",
                          res.getDrawable(R.drawable.ic_tab_navbar_admins))
                      .setContent(intent);
        tabHost.addTab(spec);

        intent = new Intent().setClass(this, Regler.class);
        spec = tabHost.newTabSpec("Regler").setIndicator("Regler",
                          res.getDrawable(R.drawable.ic_tab_navbar_admins))
                      .setContent(intent);
        tabHost.addTab(spec);

        tabHost.setCurrentTab(0);

    }
}

-

05-15 20:46:09.969: ERROR/AndroidRuntime(15352): FATAL EXCEPTION: main
05-15 20:46:09.969: ERROR/AndroidRuntime(15352): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.testapp/com.example.testapp.TEHWARRiORS}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.testapp/com.example.testapp.Start}: java.lang.RuntimeException: Your content must have a TabHost whose id attribute is 'android.R.id.tabhost'
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1816)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1837)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at android.app.ActivityThread.access$1500(ActivityThread.java:132)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1033)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at android.os.Looper.loop(Looper.java:143)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at android.app.ActivityThread.main(ActivityThread.java:4196)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at java.lang.reflect.Method.invokeNative(Native Method)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at java.lang.reflect.Method.invoke(Method.java:507)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at dalvik.system.NativeStart.main(Native Method)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352): Caused by: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.testapp/com.example.testapp.Start}: java.lang.RuntimeException: Your content must have a TabHost whose id attribute is 'android.R.id.tabhost'
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1816)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at android.app.ActivityThread.startActivityNow(ActivityThread.java:1651)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:127)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:656)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at android.widget.TabHost.setCurrentTab(TabHost.java:326)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at android.widget.TabHost.addTab(TabHost.java:216)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at com.example.testapp.TEHWARRiORS.onCreate(TEHWARRiORS.java:28)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1780)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     ... 11 more
05-15 20:46:09.969: ERROR/AndroidRuntime(15352): Caused by: java.lang.RuntimeException: Your content must have a TabHost whose id attribute is 'android.R.id.tabhost'
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at android.app.TabActivity.onContentChanged(TabActivity.java:105)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:227)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at android.app.Activity.setContentView(Activity.java:1702)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at com.example.testapp.Start.onCreate(Start.java:11)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1780)
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     ... 20 more
05-15 20:46:21.539: ERROR/SurfaceFlinger(1328): layer=0x19971f8 is not in the purgatory list

Ответы [ 2 ]

2 голосов
/ 15 мая 2011

Ну вот, пожалуйста:

05-15 20:46:09.969: ERROR/AndroidRuntime(15352): Caused by: java.lang.RuntimeException: Your content must have a TabHost whose id attribute is 'android.R.id.tabhost'
05-15 20:46:09.969: ERROR/AndroidRuntime(15352):     at android.app.TabActivity.onContentChanged(TabActivity.java:105)

Вы используете TabActivity, но заменили его содержимое на то, что не имеет хоста вкладок.

1 голос
/ 15 мая 2011

Хорошо, поэтому (возможно, не совсем полезный для вас) ответ о том, почему он «зависает» (из-за чего я предполагаю, что он ведет себя так, как если бы там была установлена ​​точка останова), дан: точки останова фантомного отладчика? . Вы можете отключить его, сняв отметку Window > Preferences > Java > Debug : Suspend execution on uncaught exceptions

Что касается исключения, которое вызывает это, то Suspend execution on uncaught exceptions должно быть видно в журналах вместе с трассировкой стека - вы должны отредактировать свой вопрос и опубликовать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...