0

我使用 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 动态设置以支持不同的语言,但我该怎么做呢?

GridView 有四个图像,应该有四个不同的字符串。例如“添加朋友”、“查找朋友”、“编辑朋友”和“删除朋友”。

4

3 回答 3

2

我建议您阅读此培训:

http://developer.android.com/guide/topics/resources/localization.html

然后,您的代码应如下所示:

view.setText(getResources().getString(R.string.YOURSTRINGKEY));

于 2013-01-02T18:09:00.137 回答
2

首先将字符串值放到一个资源文件中:res/values/strings.xml

<string name="menu_text">menu text</string>

然后在运行时解析字符串:

String menuText = context.getString(R.string.menu_text);

然后您可以使用外文版本的字符串文件进行翻译:例如 res/values-fr/strings.xml

于 2013-01-02T18:10:34.423 回答
0

您只需使用TextView.setText(int)变体(例如 R.string.menu_text_hello)并将字符串放入相应的 res 文件夹中。

于 2013-01-02T18:08:33.707 回答