2

我正在创建一个自定义列表视图实现。这是我在 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);
}
4

1 回答 1

3

attr.getAttributeResourceValue("http://schemas.android.com/apk/res/android", "listSelector", -1) 成功了 :)

于 2012-10-21T18:21:32.790 回答