"You need to use a theme.AppCompat"??不会 运行

"You need to use a theme.AppCompat"?? Wont run

我的应用程序崩溃时遇到问题,它说 "You need to use a Theme.AppCompat theme (or descendant) with this activity."

这是清单:

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

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <service android:name=".MusicService"></service>
</application>

这是主要内容 activity:

class MainActivity : AppCompatActivity() {
//overide
 override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

Intent(this, MusicService::class.java).also { intent ->
    startService(intent)
}

    val db = SongDatabase.getDatabase(application)/* var onClick = View.OnClickListener().     {view ->
    var mainActivity : activity_main= activity as
    mainActivity.player_fragment()
}*/
}

这里是 xml:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout     xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<RelativeLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <fragment
        android:id="@+id/player_fragment"
        class="com.example.ema_music_app.PlayerFragment"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="9"
        app:layout_constraintBottom_toTopOf="@id/menulayout"
        tools:layout="@layout/player_fragment" />

非常感谢任何帮助,我已经阅读了这里关于此错误及其使我发疯的所有先前相关问题的感觉。 干杯

样式

 <!-- 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>

改变

android:theme="@style/AppCompat"

android:theme="@style/AppTheme"

我会稍微扩展一下 Francesc 的答案。

这里安装的是主题应用,你安装的什么不懂。

android:theme="@style/AppCompat"

该错误表明您的主题应该继承自 Theme.AppCompat 但不是这样命名的。

<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>

这个风格继承自主题,所以你可以把它作为一个应用主题。 这由一行代码表示<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

因此,清单将如下所示:

android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
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>
<service android:name=".MusicService"></service>