Android - 为什么我的应用程序在setContentView上崩溃

时间:2016-06-24 04:16:16

标签: android

我尝试创建一个设置活动(我不理解在单个页面设置上使用片段),但突然我的主要活动上的setContentView突然崩溃。我尝试过清洁和重建,但它没有用。

的onCreate

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

activity_main.xml中

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.leviebora.simplecaloriecounter.MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:background="#E8EAF6"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:gravity="center_horizontal">

            <TextView
                android:id="@+id/goal_now_text_view"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/current_calorie_text"
                android:textAppearance="?android:textAppearanceLarge"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="/"
                android:textAppearance="?android:textAppearanceLarge"/>
            <TextView
                android:id="@+id/goal_set_text_view"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/goal_calorie_text"
                android:textAppearance="?android:textAppearanceLarge"/>
        </LinearLayout>
        <TextView
            android:layout_gravity="center_horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/goal_text_view"
            android:textAppearance="?android:textAppearanceMedium"/>

    </LinearLayout>
    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerview"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">

    </android.support.v7.widget.RecyclerView>

</LinearLayout>

清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.leviebora.simplecaloriecounter">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".SettingsActivity"
            android:label="@string/action_settings"
            android:parentActivityName=".MainActivity">
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="com.leviebora.simplecaloriecounter.MainActivity" />
        </activity>
    </application>

</manifest>

logcat的

  

致命例外:主要流程:com.leviebora.simplecaloriecounter,   PID:10880 java.lang.RuntimeException:无法启动活动   ComponentInfo   {com.leviebora.simplecaloriecounter / com.leviebora.simplecaloriecounter.MainActivity}:   java.lang.NullPointerException:尝试调用接口方法   &#39;空隙   android.support.v7.widget.DecorContentParent.setWindowCallback(android.view.Window $回拨)&#39;   在空对象引用上

     

在   android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)   在   android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)   在android.app.ActivityThread.-wrap11(ActivityThread.java)处   android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1344)   在android.os.Handler.dispatchMessage(Handler.java:102)at   android.os.Looper.loop(Looper.java:148)at   android.app.ActivityThread.main(ActivityThread.java:5417)at   java.lang.reflect.Method.invoke(Native Method)at   com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726)   在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)引起   by:java.lang.NullPointerException:尝试调用接口方法   &#39;空隙   android.support.v7.widget.DecorContentParent.setWindowCallback(android.view.Window $回拨)&#39;   在空对象引用上

     

在   android.support.v7.app.AppCompatDelegateImplV7.createSubDecor(AppCompatDelegateImplV7.java:399)   在   android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:312)   在   android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:277)   在   android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)   在   com.leviebora.simplecaloriecounter.MainActivity.onCreate(MainActivity.java:40)   在android.app.Activity.performCreate(Activity.java:6237)at   android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)   在   android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)   在   android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)   在android.app.ActivityThread.-wrap11(ActivityThread.java)处   android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1344)   在android.os.Handler.dispatchMessage(Handler.java:102)at   android.os.Looper.loop(Looper.java:148)at   android.app.ActivityThread.main(ActivityThread.java:5417)at   java.lang.reflect.Method.invoke(Native Method)at   com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726)   在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

Styles.xml

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

我还尝试将活动级别属性用作样式,但它也不起作用。

0 个答案:

没有答案