android studio R.string被重新排序

时间:2015-08-14 07:51:37

标签: android-studio

我定义了一些像这样的字符串:

<string name="sun">S</string>
<string name="mon">M</string>
<string name="tue">T</string>
<string name="wed">W</string>
<string name="thu">T</string>
<string name="fri">F</string>
<string name="sat">S</string>

在日食中,我可以通过

显示一天
getString(R.string.sun + dayOfWeek)

但是在android studio中这不起作用,因为R.string按字母顺序改变顺序。因此R.string.sun + 1不是R.string.mon

谁可以帮我配置android studio,所以它不会与普通R类重新排序?

1 个答案:

答案 0 :(得分:1)

来自R file documentation

  

虽然R类是指定资源ID的位置,但您永远不需要在那里查找资源ID。

你基本上试图使用id号码,在id中添加一个以获得下一个“逻辑”。但是aapt可以按任何顺序生成它们,所以永远不要将Ids用作数字:你不能依赖它们。

要解决您的问题,请使用字符串资源中的天数名称定义array in XML

<?xml version="1.0" encoding="utf-8"?>
<resources>
<array name="icons">
    <item>@string/monday</item>
    <item></item>
    <item></item>
 </array>
</resources>