我使用ImageAdapter设置带有图像和标题的自定义视图。如何为此文本支持多个语言?
现在,imageAdapter中的getView(...)方法文本湿了:
public View getView(int position, View convertView, ViewGroup parent) {
View v;
if (convertView == null) {
LayoutInflater li = getLayoutInflater();
v = li.inflate(R.layout.activity_main_icon, null);
TextView tv = (TextView)v.findViewById(R.id.main_icon_text);
tv.setText("**MENU TEXT**");
ImageView iv = (ImageView)v.findViewById(R.id.main_icon_image);
iv.setImageResource(mThumbIds[position]);
} else {
v = convertView;
}
return v;
}
我想应该从res / Strings动态设置“MENU TEXT”以支持不同的语言,但是我该怎么办呢?
GridView有四个图像,应该有四个不同的字符串。例如。 “添加朋友”,“找朋友”,“编辑朋友”和“删除朋友”。
答案 0 :(得分:2)
我建议你阅读这篇培训:
http://developer.android.com/guide/topics/resources/localization.html
然后,您的代码应如下所示:
view.setText(getResources()的getString(R.string.YOURSTRINGKEY));
答案 1 :(得分:2)
首先将字符串值放在资源文件中:res / values / strings.xml
<string name="menu_text">menu text</string>
然后在运行时解析字符串:
String menuText = context.getString(R.string.menu_text);
然后您可以使用字符串文件的外语版本进行翻译: 例如RES /值-FR / strings.xml中
答案 2 :(得分:0)
您只需使用TextView.setText(int) varient(例如R.string.menu_text_hello)并放置strings into the respected res folders。