2014-01-07 6 views
0

У меня есть предупреждение. Код работает. У меня есть несколько языковых папок для строк. res/values/strings.xml & res/values-es/strings.xml и т. Д. Это отлично работает для пользовательского интерфейса, но заголовок предупреждения, названия кнопок & alert msg, я хотел бы также на других языках. Он продолжает появляться на языке по умолчанию (английский). Если я попытаюсь использовать переменную 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

В Android имена ресурсов не могут содержать заглавных букв. Измените свои имена ресурсов, чтобы использовать строчные буквы, и это должно устранить вашу проблему.

Смежные вопросы