android - 从 typedarray 获取资源 ID

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

最佳答案

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

整数.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);

关于android - 从 typedarray 获取资源 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39732620/

相关文章:

java - 在后退键上出现强制关闭错误

java - Dagger 2 每个 Activity 的自定义范围

java - Android Google 登录 - 开发者错误

Android 减少 actionbarsherlock 的操作栏中图标之间的空间或填充

android - AdMob 公开 Activity - 为什么询问要使用哪个广告单元?

android - 自定义 ViewGroup 焦点处理

android - 在自定义进度条中,白色背景在 Android 中显示。如何删除它?

android - 按电源按钮关闭屏幕正在重新启动 Activity

Android 导航编辑器 - 完成 Activity ?

java - 如何修复 : No view found for id 0x7f0d00aa?