2012-10-19 106 views
2

我創建一個自定義的listview實現。 這是XML declaried我的觀點的一個實例:獲取視圖屬性的資源ID

<CustomListView android:id="@+id/list" android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:listSelector="@drawable/listview_background"> 
</CustomListView> 

是否有可能得到的int值「機器人:listSelector」資源或從我的構造函數中的任何其他屬性?

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

爲什麼android.R.attr.selectableItemBackground而不是android.R.attr.listSelector? – njzk2

+0

改爲android.R.attr.listSelector,沒有什麼區別 – Richard

+1

你試過attr.getAttributeResourceValue(「android」,「listSelector」,-1)? – njzk2

回答

3

attr.getAttributeResourceValue(「http://schemas.android.com/apk/res/android 「,」listSelector「,-1)訣竅:)