按下不同语言的按钮时增加计数器

时间:2018-02-02 08:04:36

标签: android xml

每当我点击按钮增量/减量操作完成并显示英文计数。但不是用英语显示计数,而是假设我想用其他语言显示它,如印地语,法语等,但不是英语。要做到这一点我该怎么办?字符串资源?怎么样?

谢谢

这是我的增量方法,它工作正常,但仅以英语递增,我也想支持其他语言

public void incrementDosa(View view) {

        if (QuantityDosa == 10) {
            Toast.makeText(this, R.string.maxOrder, Toast.LENGTH_SHORT).show();
            return;
        }
        QuantityDosa = QuantityDosa + 1;
        TextView dis = (TextView) findViewById(R.id.Dosa_Quant);
        dis.setText("" + QuantityDosa);       

}

1 个答案:

答案 0 :(得分:0)

好的,我想我明白了。

res/values/strings.xml中,添加以下内容:

<string name="toast_text">Maximum Order Reached</string>

res/values-hi/strings.xml中,添加以下内容:

<string name="toast_text">अधिकतम आदेश पहुंचे</string>

代码:

public void incrementDosa(View view) {

    if (QuantityDosa == 10) {
        Toast.makeText(this, R.string.toast_text, Toast.LENGTH_SHORT).show();
        return;
    }

    QuantityDosa = QuantityDosa + 1;
    TextView dis = (TextView) findViewById(R.id.Dosa_Quant);
    dis.setText(String.format("%d", QuantityDosa));  
}

印地语设备:

Hindi

英文设备:

EN device

  

假设您的应用程序的默认语言是英语。假设   您还想要将应用程序中的所有文本本地化   法语和您应用程序中的大部分文本(除了以外的所有内容)   应用程序的标题)到日语。在这种情况下,您可以创建   三个替代strings.xml文件,每个文件都存储在特定于语言环境的文件中   资源目录:

     

1.res /值/ strings.xml中

     

包含应用程序使用的所有字符串的英文文本,   包括名为title的字符串的文本。

     

2.res /值-FR / strings.xml中

     

包含所有字符串的法语文本,包括标题。

     

3.res /值-JA / strings.xml中

     

包含除标题以外的所有字符串的日文文本。

     

如果基于Java的代码引用R.string.title,则会发生以下情况   在运行时:

     

如果设备设置为法语以外的任何语言,则会加载Android   res / values / strings.xml文件中的标题。如果设备设置为   法语,Android从res / values-fr / strings.xml文件加载标题。   请注意,如果设备设置为日语,则Android会查找标题   在res / values-ja / strings.xml文件中。但因为没有这样的字符串   包含在该文件中,Android将回退到默认值并加载   res / values / strings.xml文件中的英文标题。

来源:https://developer.android.com/guide/topics/resources/localization.html

编辑:感谢@Akshay的评论