我正在实现一个自定义视图,并希望在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(","));
我的问题:有没有更好的方法可以做到这一点?
答案 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];