获取视图属性的资源ID

时间:2012-10-19 08:50:09

标签: android android-widget android-xml

我正在创建自定义列表视图实现。 这是我在xml:

中声明的视图的实例
<CustomListView android:id="@+id/list" android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:listSelector="@drawable/listview_background">
</CustomListView>

是否可以从我的构造函数中获取'android:listSelector'资源的int值或任何其他属性?

public CustomListView(Context context, AttributeSet attrs) {
    super(context, attrs);
    this.listSelectorId = ???
}

我试过这个,但它没有返回正确的资源ID:

public CustomListView(Context context, AttributeSet attrs) {
    TypedArray a = context.obtainStyledAttributes(attrs, new int[]{android.R.attr.selectableItemBackground});
    this.selectorResourceId = a.getResourceId(0, 0);
}

1 个答案:

答案 0 :(得分:3)

attr.getAttributeResourceValue(“http://schemas.android.com/apk/res/android”,“listSelector”,-1)做了诀窍:))