即時創建在C#Xamarin/Android的一個自定義的控制的Android定製控制XML ID參考
它需要有其在兒童的XML佈局設置的2的基準,所以我嘗試此。
<declare-styleable name="CustomControl">
<attr name="firstViewReference" format="reference" />
<attr name="SecondViewReference" format="reference" />
</declare-styleable>
然後在代碼IM這樣做是爲了獲取值:
TypedArray a = this.Context.ObtainStyledAttributes(this.xmlAttrs, Resource.Styleable.CustomControl);
int aid =a.GetResourceId(Resource.Styleable.CustomControl_firstViewReference,0);
但調用getResourceId總是返回錯誤值(0這裏)。
我的XML:
<CustomControl xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
local:firstViewReference="@+id/firstView">
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@id/firstView"/>
</CustomControl>
有什麼錯嗎?爲什麼我沒有得到我的視圖設置爲firstViewReference的ID?
在此先感謝。
什麼是'this.xmlAttrs'?發佈更多的代碼,因爲它不清楚你在哪裏使用'ObtainStyledAttributes' – pskink