Проблема форматирования строк в Android
Я столкнулся с проблемой "string.format" в приложении для Android. В моем приложении, когда пользователь меняет свои языковые предпочтения со стандартного (английский) на любой другой иностранный язык (японский, немецкий и т. Д.), Переменная позиционирования строки выдает ошибку принудительного закрытия. Пожалуйста, ознакомьтесь с кодом ниже:
temp = String.format (locale, getResources (). getString (R.string.temp_string), значение, имя);
где, temp_string = "Номер посылки%1$d принадлежит%2$s" для выбора по умолчанию (английский), когда в некоторых из них выбраны другие языки,% 2 $ s предшествует%1$d . Из-за чего приложение силы закрывается. Есть ли способ, чтобы динамически обрабатывать переменные строки (значение, имя).
1 ответ
Я бы сделал что-то вроде:
temp = getResources().getString(R.string.temp_string, value, name);
Как вы видите, getString()
Метод также может получать параметры для форматирования. Затем разместите разные строковые ресурсы в разных папках. Например:
res/
values/
string.xml <--- here you put "The parcel number %1$d belongs to %2$s"
values-de/
string.xml <--- here you put "The parcel number %2$d belongs to %1$s"
Я просто даю вам пример; Я на самом деле не знаю, как порядок в Германии. Я просто хочу объяснить, что вы на самом деле должны попробовать.