我正在为 android 2.2 的应用程序移植 ActionBar 功能。启动任何 ActionBarActivity 时都会出现以下错误:
java.lang.ExceptionInInitializerError
at android.support.v7.app.ActionBarActivityDelegate.createDelegate(ActionBarActivityDelegate.java:54)
at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:96)
...
Caused by: java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$attr
at android.support.v7.app.ActionBarActivityDelegateBase.<clinit>(ActionBarActivityDelegateBase.java:47)
我的设置是: IntelliJ Idea CE - 135.406 Android 支持库 - 19.0.1
基于类似的问题,我有:
- 将 v7 支持添加为 jar
- 将 appcompat 添加为库项目
- 更改 Activity 以扩展 ActionBarActivity
- 添加到 list android:theme="@style/Theme.AppCompat"
但仍然出现资源错误,有什么建议可以解决这个问题吗?
最佳答案
我解决了这个问题。问题是 IDE 添加了奇怪的包位置并且 jar 找不到它,所以当您添加此类库时,请注意使用正确的路径重命名包,请参见下图示例:
我将 android.support.v7.appcompat 手动放入“程序包名称”字段中。有点晦涩,因为你在添加库的时候没有关注这个字段。
关于java - Android ActionBar 找不到资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22362269/