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.
精彩评论