从typedarray获取资源ID

时间:2016-09-27 19:15:49

标签: android

我有这个文件array.xml,我想从数组中获取项值。 我怎样才能做到这一点?我尝试过getInt,但返回0.欢迎所有帮助。

<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>

2 个答案:

答案 0 :(得分:2)

首先,将每个项目更改为@ id / object而不是R.id.object,然后将标记从数组更改为整数数组,并将代码移动到&#39; integer.xml&#39;资源文件。

integer.xml:

@string.Format("{0:hh:mm:ss tt}", new DateTime().Add(t.BegTime.HasValue ? t.BegTime.Value : new TimeSpan(0, 0, 0)));

然后,以编程方式使用TypedArray,如下所示:

<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>

答案 1 :(得分: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>