我有两个简单的ListView:
public class SimpleListView extends Activity {
private ListView lv1 = null;
private ListView lv2 = null;
private String s1[] = {"a", "b", "c", "d", "f", "g","h","i"};
private String s2[] = {"j", "k", "l", "m", "n", "o","p","q"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lv1 = (ListView) findViewById (R.id.list1);
lv2 = (ListView) findViewById (R.id.list2);
lv1.setAdapter(new ArrayAdapter<String> (this, android.R.layout.simple_list_item_1, s1));
lv2.setAdapter(new ArrayAdapter<String> (this, android.R.layout.simple_list_item_1, s2));
}
}
这里我想列出内容,即s1和s2是不同语言而不是a,b,c ..
我怎么能这样做?
由于
根据language support in android我知道我可以为TextView设置不同的语言。现在我想将语言设置为列表内容。
答案 0 :(得分:2)
好吧,如果你问如何找出设备上的活动语言在这里看Get the current language in device 然后根据语言填写你的s1和s2
答案 1 :(得分:1)
您应该使用本地化的strings.xml
文件。
您的res / values文件夹包含strings.xml
文件。
通过使用已翻译的strings.xml
文件创建其他值文件夹,您可以涵盖所需的所有区域语言。
以下是一些例子:
res/values
(英文)res/values-de
(德语)res/values-zh
(中文)res/values-es
(西班牙文)res/values-no
(挪威语)res/values-da
(丹麦语)所有文件夹必须包含带有翻译字符串的strings.xml
文件。如果您的原始strings.xml文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">English title</string>
</resources>
...那么对于德语版本可能是这样的:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">German title</string>
</resources>
使用字符串资源
如果你想从字符串资源中获取字符串,那么这就是你的工作方式。
代码: getString(R.strings.app_name) // returns "English title" for English users, "German title" for German users, etc.
布局: @string/app_name
更多信息
Android开发者网站提供了有关此主题的出色指南:
http://developer.android.com/guide/topics/resources/localization.html