0

У меня возникла проблема с «string.format» в приложении Android. В моем приложении, когда пользователь меняет свои языковые предпочтения по умолчанию (английский) на любой другой иностранный язык (японский, немецкий и т. Д.), Позиционирование переменной строки дает силовую ошибку закрытия. Пожалуйста, ознакомьтесь со следующим кодом:проблема форматирования строки в android

temp = String.format (locale, getResources(). GetString (R.string.temp_string), value, name);

где, 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" 

Я просто даю вам пример; На самом деле я не знаю, как немецкий порядок. Я просто хочу объяснить, что вы на самом деле должны попробовать.

+0

Изменение номера позиции от 1 $ до 2 $ не работает. – shailbenq

+0

@Cristian: Привет, сэр, пожалуйста, взгляните на мой вопрос. Я был бы очень признателен, если бы вы могли помочь. Благодаря ... :) –