【问题标题】:Creating a list of integers in XML for android在 XML 中为 android 创建一个整数列表
【发布时间】:2011-02-11 23:13:53
【问题描述】:

我想在一个 android 项目的 /res 文件夹中创建一个整数列表。但是,我希望这些整数指向 /res/raw 中的资源。例如,我想要这样的东西:

<?xml version="1.0" encoding="utf-8"?>
    <resources>
        <integer-array name="built_in_sounds">
            <item>@raw/sound</item>
    </integer-array>
</resources>

但是 id 看起来我做不到,有没有办法做到这一点?还是应该只在 java 类中创建列表?

谢谢

【问题讨论】:

  • 你需要这份清单做什么?

标签: java xml android arrays integer


【解决方案1】:

要在没有数据库的情况下在 XML 中执行此操作,请参阅: http://developer.android.com/guide/topics/resources/more-resources.html#Integer

【讨论】:

    【解决方案2】:

    而正确答案其实是,TypedArray

    该文档显示了资源列表的示例:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <array name="icons">
            <item>@drawable/home</item>
            <item>@drawable/settings</item>
            <item>@drawable/logout</item>
        </array>
        <array name="colors">
            <item>#FFFF0000</item>
            <item>#FF00FF00</item>
            <item>#FF0000FF</item>
        </array>
    </resources>
    

    以及检索值的代码:

    Resources res = getResources();
    TypedArray icons = res.obtainTypedArray(R.array.icons);
    Drawable drawable = icons.getDrawable(0);
    
    TypedArray colors = res.obtainTypedArray(R.array.icons);
    int color = colors.getColor(0,0);
    

    【讨论】:

      【解决方案3】:

      好的,我终于知道如何做到这一点了。我所做的只是创建一个数据库。数据库存储了我需要存储的所有原语,以及指向我需要引用的对象的指针。显然,android SDK 带有对 SQLite 的支持。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-30
        • 1970-01-01
        相关资源
        最近更新 更多