与android崩溃:background =“?activatedBackgroundIndicator”

时间:2013-06-14 20:39:27

标签: android android-layout android-listview actionbarsherlock android-actionbar

我有一个与ActionBarSherlock声明相关的问题:

android:background="?activatedBackgroundIndicator"

问题是,如果我在这样的布局中使用此值:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?activatedBackgroundIndicator">
.....

如果我使用主题,则包含此XML崩溃的适配器:

<style name="AppTheme" parent="@style/Theme.Sherlock.Light.DarkActionBar">

但如果我将主题更改为:

,它就有效
<style name="AppTheme" parent="@style/Theme.Sherlock.Light">

这是ActionBarSherlock的错误吗?或者我做错了什么?重复它崩溃如果我 使用Light.DarkActionBar主题,但如果我使用Light主题,则可以使用。

我测试改变:

android:background="?activatedBackgroundIndicator"

为此:

 android:background="?android:attr/activatedBackgroundIndicator"

哪个是原始属性并且有效。

这是stacktrace:

FATAL EXCEPTION: main
E/AndroidRuntime( 1574): android.view.InflateException: Binary XML file line #2: Error     inflating class...
....
E/AndroidRuntime( 1574): Caused by: android.content.res.Resources$NotFoundException:   Resource is not a Drawable (color or path): TypedValue{t=0x2/d=0x7f010047 a=-1}
E/AndroidRuntime( 1574): at android.content.res.Resources.loadDrawable(Resource

提前致谢。

1 个答案:

答案 0 :(得分:0)

我在ABS回购中创建了一个问题,SimonVT说:

  

ABS没有在api14 +上的DarkActionBar主题中定义它不使用自身的属性。该图书馆并不是为了帮助您主题化您的应用。   除非ABS使用我们没有设置的属性。

所以我做的是创建一个layout-v11文件夹,该文件夹具有以下特定布局:

android:background="?android:attr/activatedBackgroundIndicator"

这样可行......有点不是我想要的,只为一个文件创建一个新文件夹,但它有效。