Получить форматированную строку возвращает странный результат - PullRequest
0 голосов
/ 07 марта 2019

У меня есть менеджер ресурсов со следующим методом

fun getString(@StringRes resId: Int, vararg params: Any): String {
    return context.getString(resId, params)
}

Я называю это так

resourceManager.getString(R.string.number_reps, "20")

Вот строка:

<string name="number_reps">%1$s reps</string>

По какой-то причине, когда я вызываю этот метод, он возвращает действительно странную строку:

[Ljava.lang.Object;@5356cf reps

Кто-нибудь знает, почему это произойдет

UPDATE

Это сработало для меня

String.format(resourceManager.getString(R.string.number_reps), "20")

Ответы [ 2 ]

1 голос
/ 07 марта 2019

попробуйте заменить

resourceManager.getString(R.string.number_repetitions, "20")

на

resourceManager.getString(R.string.number_reps, "20")
0 голосов
/ 07 марта 2019

Вы используете неправильный ключ при доступе к строке.

Используйте это resourceManager.getString(R.string.number_reps, "20")

Вы также можете использовать String.format для достижения тех же результатов, как показано ниже,

String.format(getString(R.string.number_reps), "20")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...