В моем приложении для Android я пытаюсь установить текст в TextView с целым числом и строковым значением. Я получаю длину массива и собираюсь установить его со строковым значением, как показано ниже.

if (array.size() > 0) {
    textView.setText(array.size() + " " + R.string.lbl_text);
}

Когда я запускаю приложение, оно дает мне набор целых чисел, как показано ниже:

1 2345223232

Затем я конвертирую размер массива в строку следующим образом

if (array.size() > 0) {
    textView.setText(Integer.toString(array.size()) + " " + R.string.lbl_text);
}

Но тот же вывод. В чем причина получения целочисленного значения для string.lbl_text

-1
Udara Abeythilake 30 Май 2019 в 10:00

2 ответа

Лучший ответ
Use getResources().getString(R.string.lbl_text) and then you would be able to access the string text. as @pskink told already 
1
pramod_m 30 Май 2019 в 07:07

R.string.xxx - это идентификатор ресурса. Чтобы преобразовать его в String значение, вам нужно вызвать getString() в экземпляре Resources или Context:

resources.getString(R.string.xxx);
2
PPartisan 30 Май 2019 в 07:03