我想要strings.xml文件中的字符串列表.
有谁知道如何得到它??? 我发现的一件事是它在R.java中按顺序分配id但是如何获得起始id并不清楚.
例如,我在strings.xml中有100个字符串,如下所示,我想一次读入,而不是为个人提供getResources().getString(int id).
<string name="app_label">Calendar</string>
<string name="what_label">What</string>
<string name="where_label">Where</string>
<string name="when_label">When</string>
<string name="timezone_label">Time zone</string>
<string name="attendees_label">Guests</string>
<string name="today">Today</string>
<string name="tomorrow">Tomorrow</string>
Run Code Online (Sandbox Code Playgroud)
Kan*_*nth 12
您可以像这样在res\values\strings.xml文件中声明字符串.
<string-array name="vehiclescategory_array">
<item>Cars</item>
<item>Bikes</item>
<item>RVs</item>
<item>Trucks</item>
<item>Other Vehicles</item>
</string-array>
Run Code Online (Sandbox Code Playgroud)
在您的活动类中,您可以像下面这样访问它们.
String[] categories;
categories=getResources().getStringArray(R.array.vehiclescategory_array);
Run Code Online (Sandbox Code Playgroud)
在上面的列表中,无论您声明的顺序如何,都与在活动中分配给数组的方式相同.假设汽车将被分配到类别[0].希望这可以帮助.
小智 7
Field[] fields = R.string.class.getDeclaredFields(); // or Field[] fields = R.string.class.getFields();
String str = "";
for (int i =0; i < fields.length; i++) {
int resId = getResources().getIdentifier(fields[i].getName(), "string", getPackageName());
str += fields[i].getName() + " = ";
if (resId != 0) {
str += getResources().getString(resId);
}
str += "\n";
}
Run Code Online (Sandbox Code Playgroud)
您将获得所有字符串代码及其值在"str"变量中.
| 归档时间: |
|
| 查看次数: |
8974 次 |
| 最近记录: |