开发者

Hangup in ActivityThread?

Any clue why my Android app is hanging on this code block when I try to debug it in 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


Well, there you go:

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)

You are using a TabActivity but have replaced its content with something that doesn't have a tab host.


Ok, so the (perhaps not quite useful to you) answer to why it's 'hanging' (by which I assume it's behaving as if a breakpoint was set there) is given here: Why does my Eclipse project have phantom debugger breakpoints?. You can turn it off by unselecting Window > Preferences > Java > Debug : Suspend execution on uncaught exceptions

As to what the exception is that causes this Suspend execution on uncaught exceptions should be visible in the logs, along with the stacktrace - you should edit your question and post that.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜