来自字符串资源的多语言警报

时间:2014-01-07 21:27:18

标签: android multilingual getresource

我有警报。代码有效。我有多个语言文件夹用于字符串。 res/values/strings.xml& res/values-es/strings.xml等。这适用于用户界面,但提醒标题,按钮标题&警告消息,我也想用其他语言。它不断出现在默认语言中(英语)。如果我尝试使用String变量& getResources().getString(R.string.name);应用程序爆炸。文档说......我看到其他人在没有任何回复的情况下提出了类似的问题。有人知道怎么修这个东西吗?指定区域设置或其他什么?

public void showSettingsAlert(){
    AlertDialog.Builder alertDialog = new AlertDialog.Builder(mContext);

    //String title_settings = getResources().getString(R.string.Settings);
    //String title_cancel = getResources().getString(R.string.Cancel);
    //String GPS_settings = getResources().getString(R.string.GPS_Settings);
    //String GPS_not_enabled = getResources().getString(R.string.GPS_not_enabled);
    //String title_settings =getResources().getString(R.string.Settings);

    // Setting Dialog Title
    alertDialog.setTitle("GPS Settings");
    //alertDialog.setTitle(GPS_settings);

    // Setting Dialog Message
    alertDialog.setMessage("GPS is not enabled. Do you want to go to settings menu?");
    //alertDialog.setMessage(GPS_not_enabled);

    // On pressing Settings button
    alertDialog.setPositiveButton("Settings", new DialogInterface.OnClickListener() {
    //alertDialog.setPositiveButton(settings, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog,int which) {
            Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
            mContext.startActivity(intent);
        }
    });

    // on pressing cancel button
    alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
    //alertDialog.setNegativeButton(cancel, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
        dialog.cancel();
        }
    });

    // Showing Alert Message
    alertDialog.show();
}

1 个答案:

答案 0 :(得分:1)

在Android中,资源名称不能包含大写字母。更改您的资源名称以使用小写字母,这应该可以解决您的问题。