2016-09-27 211 views
1

我有這個文件array.xml,我想從數組中獲取項目值。 我該怎麼做?我嘗試過使用getInt,但返回0.歡迎所有幫助。從typedarray獲取資源ID

<resources> 
    <array name="firstAd"> 
     <item>border_top_id_1v</item> 
     <item>R.id.dugme_1v</item> 
     <item>R.id.rent_or_buy_1v</item> 
     <item>R.id.currency_1v</item> 
     <item>R.id.price_1v</item> 
     <item>R.id.name_1v</item> 
     <item>R.id.address_1v</item> 
    </array> 
</resources> 

回答

1

首先,改變每個項目@ ID /對象,而不是R.id.object,然後將標籤從陣列變爲整數數組,並將代碼移動到你的「integer.xml」資源文件。

integer.xml:

<resources> 
<integer-array name="firstAd"> 
    <item>@id/dugme_1v</item> 
    <item>@id/rent_or_buy_1v</item> 
    <item>@id/currency_1v</item> 
    <item>@id/price_1v</item> 
    <item>@id/name_1v</item> 
    <item>@id/address_1v</item> 
</integer-array> 
</resources> 

然後,編程使用TypedArray,像這樣:

TypedArray firstAd = getResources().obtainTypedArray(R.array.firstAd); 
int resourceId = firstAd.getResourceId(index, defValue); 
+0

是的,我這樣做,但我需要得到的項目 – zomlaaa95

+0

我試過了,它不起作用。它期望一個鍵入的數組 – zomlaaa95

+0

感謝您的嘗試,但這將無濟於事 – zomlaaa95

0

嘗試@ ID/yourIDHere

<item>border_top_id_1v</item> 
    <item>@id/dugme/1v</item> 
    <item>@id/rent_or_buy_1v</item> 
    <item>@id/currency_1v</item> 
+0

我只需要獲取該項目,我不想更改xml文件 – zomlaaa95