java - Android 无法启动 Activity - java.lang.RuntimeException : Unable to start activity ComponentInfo

标签 java android android-studio

这是一个真正困扰我的问题,每当我尝试启动应用程序的主要 Activity 时,我都会在 LogCat 中收到错误:

java.lang.RuntimeException: Unable to start activity ComponentInfo{me.kworden.atic/me.kworden.atic.MainActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x7f0c00a9

堆栈跟踪表明问题出在我的 onCreate() 方法中的 super.onCreate(savedInstanceState) ,这让我很沮丧,因为我无法控制父类(super class)方法。

我使用的内容布局只是一个LinearLayout,所以我认为你们没有必要看到我的xml文件,尽管我会根据要求发布。

我在 SO 上看到过其他类似的问题,但唯一的答案是“清理/重建项目”,这对我没有任何帮助。我正在使用 Android Studio 版本。 1.1.0 如果这是一个已知问题,但我还没有看到任何已知的错误。

这是我的 MainActivity,为了查明问题,我删除了大部分代码,但现在看来 super.onCreate 是罪魁祸首;尽管非常简单,我的应用程序仍然无法启动(即我得到“不幸的是,应用程序已停止。”)。

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends ActionBarActivity
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        // Create the activity and set the main content view //
        super.onCreate(savedInstanceState); // This is line 17, per the stack trace //
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        // Inflate the main menu to the toolbar //
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item)
    {
        int id = item.getItemId();

        if(id == R.id.action_settings)
        {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

这是我的完整堆栈跟踪:

03-16 23:16:33.572    1494-1494/me.kworden.atic E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: me.kworden.atic, PID: 1494
    java.lang.RuntimeException: Unable to start activity ComponentInfo{me.kworden.atic/me.kworden.atic.MainActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x7f0c00a9
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
     Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f0c00a9
            at android.content.res.Resources.getValue(Resources.java:1233)
            at android.content.res.Resources.getDrawable(Resources.java:756)
            at android.content.Context.getDrawable(Context.java:402)
            at com.android.internal.policy.impl.PhoneWindow.generateLayout(PhoneWindow.java:3514)
            at com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:3561)
            at com.android.internal.policy.impl.PhoneWindow.getDecorView(PhoneWindow.java:1916)
            at android.support.v7.app.ActionBarActivityDelegateBase.onCreate(ActionBarActivityDelegateBase.java:151)
            at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:123)
            at me.kworden.atic.MainActivity.onCreate(MainActivity.java:17)
            at android.app.Activity.performCreate(Activity.java:5933)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)

最佳答案

如果将来有人偶然发现这个问题,我想确保您能够得到答案......

问题是我的样式中使用了仅适用于 Material 和 Android 5.0+ 的某些标签。因此,我创建了一个 res/values-v21/styles.xml 文件夹,并将适当的设置放入其中。这解决了问题。

关于java - Android 无法启动 Activity - java.lang.RuntimeException : Unable to start activity ComponentInfo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29090794/

相关文章:

java - 如何在hadoop级联中获取输入文件名

java - 如何使用java将逗号(,)替换为点(.)

android - 如何排除这些 .jar 文件?错误 com.android.build.api.transform.TransformException : java. util.zip.ZipException:重复条目

Android 应用程序在启动时崩溃

android-studio - 无法在 MacBook Pro M1 上构建 Android Studio 项目

java - Android - 如何在一个后台线程中对多个作业进行排队?

java - 获取 FileNotFoundException

android - 为什么我的网站在 Android 模拟器和设备上看起来不同?

android - 转储移动内存

android-studio - 如何将 List<String> 保存到 Kotlin 中的 SharedPreferences?