Android线程退出未捕获异常(组= 0x4000fe70)错误

时间:2012-03-09 10:40:42

标签: java android eclipse

您好我正试图制作启动画面。 我尝试2.3版本的代码一切正常。 但当ı尝试在Android 2.1的较低版本的代码时,我收到一个错误。

我也尝试使用galaxy选项卡,但没有问题。

我怎样才能确保我的应用程序可以运行其他版本的机器人。

错误发生在模拟器1.5

03-09 10:32:20.016: D/AndroidRuntime(841): Shutting down VM
03-09 10:32:20.016: W/dalvikvm(841): threadid=3: thread exiting with uncaught exception (group=0x4000fe70)
03-09 10:32:20.016: E/AndroidRuntime(841): Uncaught handler: thread main exiting due to uncaught exception
03-09 10:32:20.026: E/AndroidRuntime(841): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.activities/com.activities.SplashScreenActivity}: android.view.InflateException: Binary XML file line #2: Error inflating class java.lang.reflect.Constructor
03-09 10:32:20.026: E/AndroidRuntime(841):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2268)
03-09 10:32:20.026: E/AndroidRuntime(841):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2284)
03-09 10:32:20.026: E/AndroidRuntime(841):  at android.app.ActivityThread.access$1800(ActivityThread.java:112)
03-09 10:32:20.026: E/AndroidRuntime(841):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1692)
03-09 10:32:20.026: E/AndroidRuntime(841):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-09 10:32:20.026: E/AndroidRuntime(841):  at android.os.Looper.loop(Looper.java:123)
03-09 10:32:20.026: E/AndroidRuntime(841):  at android.app.ActivityThread.main(ActivityThread.java:3948)
03-09 10:32:20.026: E/AndroidRuntime(841):  at java.lang.reflect.Method.invokeNative(Native Method)
03-09 10:32:20.026: E/AndroidRuntime(841):  at java.lang.reflect.Method.invoke(Method.java:521)
03-09 10:32:20.026: E/AndroidRuntime(841):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
03-09 10:32:20.026: E/AndroidRuntime(841):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
03-09 10:32:20.026: E/AndroidRuntime(841):  at dalvik.system.NativeStart.main(Native Method)
03-09 10:32:20.026: E/AndroidRuntime(841): Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class java.lang.reflect.Constructor
03-09 10:32:20.026: E/AndroidRuntime(841):  at android.view.LayoutInflater.createView(LayoutInflater.java:512)
03-09 10:32:20.026: E/AndroidRuntime(841):  at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
03-09 10:32:20.026: E/AndroidRuntime(841):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:562)
03-09 10:32:20.026: E/AndroidRuntime(841):  at android.view.LayoutInflater.inflate(LayoutInflater.java:385)
03-09 10:32:20.026: E/AndroidRuntime(841):  at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
03-09 10:32:20.026: E/AndroidRuntime(841):  at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
03-09 10:32:20.026: E/AndroidRuntime(841):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:309)
03-09 10:32:20.026: E/AndroidRuntime(841):  at android.app.Activity.setContentView(Activity.java:1626)
03-09 10:32:20.026: E/AndroidRuntime(841):  at com.activities.SplashScreenActivity.onCreate(SplashScreenActivity.java:33)
03-09 10:32:20.026: E/AndroidRuntime(841):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
03-09 10:32:20.026: E/AndroidRuntime(841):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2231)
03-09 10:32:20.026: E/AndroidRuntime(841):  ... 11 more
03-09 10:32:20.026: E/AndroidRuntime(841): Caused by: java.lang.reflect.InvocationTargetException
03-09 10:32:20.026: E/AndroidRuntime(841):  at android.widget.LinearLayout.<init>(LinearLayout.java:92)
03-09 10:32:20.026: E/AndroidRuntime(841):  at java.lang.reflect.Constructor.constructNative(Native Method)
03-09 10:32:20.026: E/AndroidRuntime(841):  at java.lang.reflect.Constructor.newInstance(Constructor.java:446)
03-09 10:32:20.026: E/AndroidRuntime(841):  at android.view.LayoutInflater.createView(LayoutInflater.java:499)
03-09 10:32:20.026: E/AndroidRuntime(841):  ... 21 more
03-09 10:32:20.026: E/AndroidRuntime(841): Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f020016 a=-1 r=0x7f020016}
03-09 10:32:20.026: E/AndroidRuntime(841):  at android.content.res.Resources.loadDrawable(Resources.java:1609)
03-09 10:32:20.026: E/AndroidRuntime(841):  at android.content.res.TypedArray.getDrawable(TypedArray.java:548)
03-09 10:32:20.026: E/AndroidRuntime(841):  at android.view.View.<init>(View.java:1725)
03-09 10:32:20.026: E/AndroidRuntime(841):  at android.view.View.<init>(View.java:1674)
03-09 10:32:20.026: E/AndroidRuntime(841):  at android.view.ViewGroup.<init>(ViewGroup.java:271)
03-09 10:32:20.026: E/AndroidRuntime(841):  ... 25 more

代码标准是;

super.onCreate(savedInstanceState);
    setContentView(R.layout.layout_splash_screen);

        tv = (TextView) findViewById(R.id.LoadingBarTextView);
    loadTextID = 1;


splashTextHandler = new Handler() {
        public void handleMessage(Message msg2) {
            if (loadTextID == 1) {
                tv.setText("Loading..");
                loadTextID = 2;
            } else if (loadTextID == 2) {
                tv.setText("Loading...");
                loadTextID = 3;
            } else {
                tv.setText("Loading.");
                loadTextID = 1;
            }
        }
    };
Thread splashTread = new Thread() {
        @Override
        public void run() {
            try {
                int waited = 0;
                while (isActive && (waited < splashTime1)) {
                    sleep(500);
                    if (isActive) {
                        waited += 500;
                        splashTextHandler.sendMessage(splashTextHandler
                                .obtainMessage());
                    }
                }

            } catch (InterruptedException e) {
                // do nothing
            } finally {
                /*
                finish();
                Intent i = new Intent();
                i.setClassName("com.activities",
                        "com.activities.DashboardActivity");
                startActivity(i);
                */
            }
        }
    };
    splashTread.start();

有什么问题?

3 个答案:

答案 0 :(得分:0)

这一行

 03-09 10:32:20.026: E/AndroidRuntime(841): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.activities/com.activities.SplashScreenActivity}: android.view.InflateException: Binary XML file line #2: Error inflating class java.lang.reflect.Constructor

清单文件中必须有一个xml标记,该标记可能没有特定的name="attribute"。尝试检查您是否使用此类标记但未定义关键名称/属性,可能是parent属性。

答案 1 :(得分:0)

我认为您使用 9 patch drawable 。如果是这样,那么尝试正常图像&lt; = 2.1V

来自你的logcat:

引起:android.content.res.Resources $ NotFoundException:资源不是Drawable(颜色或路径):TypedValue {t = 0x1 / d = 0x7f020016 a = -1 r = 0x7f020016}

答案 2 :(得分:0)

如果您发布xml文件会更清楚,但我认为您正在尝试使用不可绘制的资源作为可绘制项目。 例如:view.setBackground(R.id.something)