我有一个这样的数组,它定义了ListPreference的条目值:
<string-array name="sortSelectionEntryValues">
<item>0</item>
<item>1</item>
</string-array>
现在我不想在XML中使用0和1,而是使用Java常量,例如ORDER_ASC和ORDER_DESC,因为稍后我将以编程方式访问所选ListPreference条目的值,我必须检查代码中的值,但将值与一个名为constant的值进行比较会使代码更容易阅读。
所以我想要的是这样的:
In Java:
class MyOrderClass
{
public static final String ORDER_ASC="0";
public static final String ORDER_DESC="1";
}
In the XML:
<string-array name="sortSelectionEntryValues">
<item>MyOrderClass.ORDER_ASC</item>
<item>MyOrderClass.ORDER_DESC</item>
</string-array>
这有可能吗?谢谢你的提示!
(请注意,排序只是一个愚蠢的例子,我只需要知道如何将Java常量集成到数组的XML定义中)
答案 0 :(得分:3)
那是不可能的。也就是说,你永远不必将“0”与任何东西进行比较。您可能会使用if(MyOrderClass.ORDER_ASC.equals(<selected item from list>){..}
因此不应该是一个问题。
答案 1 :(得分:0)
你不能按照你的建议去做,但是......
您可以以不同的方式执行此操作,并在值文件中以XML格式定义常量,并根据定义的值定义java中的静态和XML中的数组。这样它只定义一次并使用相同的值。