使用textView和setText的多种语言

时间:2013-01-02 18:03:18

标签: android textview settext

我使用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有四个图像,应该有四个不同的字符串。例如。 “添加朋友”,“找朋友”,“编辑朋友”和“删除朋友”。

3 个答案:

答案 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