当我开展活动时,我会随机获得IllegalStateException: You need to use a Theme.AppCompat theme
。我只需要重建项目并在下次运行时启动活动,但在一些运行后,我再次得到异常。
我检查过我的应用和活动主题是否继承自Theme.AppCompat
。我的所有活动都延伸到FragmentActivity
我在API 22(Android 5.1.1)上获得了例外,而我正在运行Android Studio 2.0 Beta 5
修改
我使用的是Android Studio 1.5,但我没有收到错误消息。似乎在AS 2.0上,我的活动中的super
引用AppCompatActivity
而不是继承的类FragmentActivity
。我无法理解这种行为
的AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="eu.heyway.heywayandroid">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/Theme.AppCompat.NoActionBar"
android:name=".HeyWayApplication">
<activity
android:name=".login.FacebookLoginActivity"
android:theme="@style/AppTheme.TriangleBackground">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".configuration.ConfigurationActivity"
android:label="@string/title_activity_configuration"
android:theme="@style/AppTheme.TriangleBackground" />
<activity android:name=".home.HomeActivity"
android:theme="@style/AppTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
styles.xml
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowBackground">@color/colorPrimary</item>
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
</style>
<style name="AppTheme.TriangleBackground" parent="AppTheme">
<item name="android:windowBackground">@drawable/background_full</item>
</style>
我的所有活动都扩展了这个课程:
public class BaseActivity extends FragmentActivity {
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
}
}
我想知道我是否应该将此报告为错误或者我做错了什么。
答案 0 :(得分:0)
在您的清单中,您缺少 minSdk 和 targetSdk 条目。设置min和target sdk版本。另外,请确保包含支持库。如果那没有成功,也可以尝试使用Holo主题并查看是否出现错误。