首页 文章

应用Material_Theme时出错:无法启动活动ComponentInfo

提问于
浏览
-1

error_log中:

D / AndroidRuntime:关闭VM E / AndroidRuntime:FATAL EXCEPTION:main进程:com.example.hetal13.material_design_demo,PID:2611 java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.hetal13.material_design_demo / com .example.hetal13.material_design_demo.MainActivity}:java.lang.IllegalStateException:您需要在此活动中使用Theme.AppCompat主题(或后代) . 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)的android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)android.app.ActivityThread.access $ 800(ActivityThread.java:151)在android.app .ActivityThread $ H.handleMessage(ActivityThread.java:1303)在android.app.Loper.loop(Looper.java:135)的android.app.Handler.dispatchMessage(Handler.java:102)android.app.ActivityThread . main(ActivityThread.java:5254)位于java.lang.reflect.Method.invoke(Native Method)的java.lang.reflect.Method.invoke(Method.java:372)at com.android.internal.os.ZygoteInit $在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)中的MethodAndArgsCaller.run(ZygoteInit.java:903)引起:java.lang.IllegalStateException:您需要使用Theme.AppCompat主题(或后代) )这项活动 . 在Android.support.v7.app.App.DeCompalDelegateImplV7.setContentView上的android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:312)上的android.support.v7.app.AppCompatDelegateImplV7.createSubDecor(AppCompatDelegateImplV7.java:343) (appCompatDelegateImplV7.java:277)位于android.app的com.example.hetal13.material_design_demo.MainActivity.onCreate(MainActivity.java:13)的android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) . Activity.performCreate(Activity.java:5990)在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)在android.app.ActivityThread.handleLaunchActivity(ActivityThread .java:2387)在Android.app.Handler.dispatchMessage(Handler.java)的android.app.ActivityThread.access $ 800(ActivityThread.java:151)android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1303) :102)在android.os.Looper.loop(Looper.java:135)在android.app.ActivityThread.main(ActivityThread.java:5254)的java.lang.reflect.Method.invoke(Native Method),位于com.android的java.lang.reflect.Method.invoke(Method.java:372) .internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:903)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)应用程序终止 .

Style.xml:

<resources>

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

</resources>

MainActivity.java:

package com.example.hetal13.material_design_demo;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;



public class MainActivity extends AppCompatActivity {

    @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:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"

    android:orientation="vertical"
    tools:context="com.example.hetal13.material_design_demo.MainActivity">

    <Button
        android:text="@string/button_submit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/editText"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="46dp"
        android:id="@+id/button"
        />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:ems="10"
        android:layout_marginTop="108dp"
        android:id="@+id/editText"

        android:textAlignment="center"
        tools:ignore="LabelFor"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />
</LinearLayout>

1 回答

  • 0

    您需要在 Style.xml 中使用 do following changes . (你甚至可以尝试复制粘贴此代码段 . 最有可能它应该工作 . )

    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
            <item name="colorPrimary">@color/colorPrimary</item>
            <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
            <item name="colorAccent">@color/colorAccent</item>
        </style>
    

    根据您的logcat,您所需要的只是 Theme.AppCompat theme .

    希望这可以帮助

相关问题