如何从attrs.xml读取字符串数组

时间:2014-03-19 18:28:10

标签: android android-custom-view

我正在实现一个自定义视图,并希望在attrs.xml中定义一个字符串数组。目前我这样做:

在attrs.xml文件中我定义了:

<attr name="twCells" format="string"/>

在activity_main.xml中我提供以下数据:

 app:twCells="A1,A7,G1,G7"

最后在MyCustomView.java文件中,我正在阅读twCell属性,如下所示:

private List<String> twCells = null;
TypedArray a = context.getTheme().obtainStyledAttributes(attrs, R.styleable.BoardView, 0, 0);
twCells = Arrays.asList(a.getString(R.styleable.BoardView_twCells).split(","));

我的问题:有没有更好的方法可以做到这一点?

1 个答案:

答案 0 :(得分:-1)

如果您同意将字符串资源移动到strings.xml文件中,您可以这样做:

strings.xml中的

<resources>
    <string-array name="planets_array">
        <item>Mercury</item>
        <item>Venus</item>
        <item>Earth</item>
        <item>Mars</item>
        <item>Jupiter</item>
        <item>Saturn</item>
        <item>Uranus</item>
        <item>Neptune</item>
    </string-array>
</resources>

并获取字符串:

String planet = getResources().getStringArray(R.array.planets_array)[i];