代码之家  ›  专栏  ›  技术社区  ›  Leif Andersen

为android创建xml整数列表

  •  2
  • Leif Andersen  · 技术社区  · 14 年前

    我想在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>
    

    但身份证看起来不行,有什么办法吗?或者我应该在Java类中创建列表吗?

    谢谢你

    3 回复  |  直到 13 年前
        1
  •  1
  •   itsadok    13 年前

    正确的答案是, 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);
    
        2
  •  0
  •   Leif Andersen    14 年前

    好吧,我终于知道怎么做了。我所做的,只是建立一个数据库。数据库存储了我需要存储的所有原语,而不是指向我需要引用的对象的指针。显然android sdk支持sqlite。

        3
  •  0
  •   stealthyninja michkra    13 年前

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