Android报错:需为BowlerActivity使用Theme.AppCompat主题或其子类
搞定"You need to use a Theme.AppCompat theme (or descendant) with this activity"这个异常
嘿,我帮你揪出问题所在啦!从报错日志和你贴的代码来看,你的BowlerActivity肯定是继承了AppCompatActivity(不然不会触发AppCompat相关的报错),但这个Activity在AndroidManifest.xml里没指定AppCompat系列的主题,而且你的<application>标签也没设置全局默认主题,系统就给它分配了个非AppCompat的默认主题,这不就撞枪口上了嘛~
两种快速修复方法任你选:
方法1:给BowlerActivity单独配个AppCompat主题
直接修改AndroidManifest.xml里的BowlerActivity节点,加上android:theme属性,用你已经定义好的主题就行:
<activity android:name=".views.BowlerActivity" android:theme="@style/AppTheme"> <!-- 要是你不需要ActionBar,就用@style/AppTheme.NoActionBar --> </activity>
方法2:给整个应用设全局AppCompat主题(更省心)
在<application>标签里加个android:theme属性,这样所有没单独指定主题的Activity都会自动用这个AppCompat主题,省得以后每个Activity都要单独加:
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="Tenpin Bowling Companion" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <!-- 就是加这一行! --> <!-- 你的Activity们... --> </application>
小提醒:
对了,你的Styles.xml代码最后一行好像没写完(卡在<style这里了),记得补全剩余的样式代码哦,不然可能会出别的小问题~
内容的提问来源于stack exchange,提问作者Robert Vogl
相关产品推荐
相关产品推荐

