【发布时间】:2011-11-05 01:10:20
【问题描述】:
如何从 Android Activity class 访问 res/values/string.xml 资源文件中的值?
【问题讨论】:
如何从 Android Activity class 访问 res/values/string.xml 资源文件中的值?
【问题讨论】:
strings.xml:
<string name="some_text">Some Text</string>
活动:
getString(R.string.some_text);
【讨论】:
你可以使用 String 来获取,
getString(R.string.app_name);
而且,您可以使用
获取字符串数组String arr[] = getResources().getStringArray(R.array.planet);
for (int i = 0; i < arr.length; i++) {
Toast.makeText(getBaseContext(),arr[i], Toast.LENGTH_LONG).show();
}
【讨论】:
将此代码放入res/values/string.xml
<string-array name="planet">
<item>Mercury</item>
<item>Venus</item>
<item>Earth</item>
<item>Mars</item>
</string-array>
此代码将放置在res/layout/main.xml 中并删除main.xml 中存在的默认小部件。
<ListView android:id="@+id/planet"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:entries="@array/planet"/>
</LinearLayout>
【讨论】:
如果 getString(R.string.app_name);不适合你,你可以像这样传递上下文:
context.getString(R.string.app_name);
【讨论】:
如果您有 Activity 的上下文,请使用:
getString(R.string.app_name);
如果您没有上下文,请尝试以下操作,您可以使用 Constructor 从活动中获取上下文。
mContext.getString(R.string.app_name);
【讨论】: