Я пытаюсь отобразить текст, который я установил в TextView
. Я уже назначил строку в strings.xml
с именем operator_mixed
strings.xml
<string name="operator_mixed">%d %s %d %s %d</string>
И в моем файле initialize.java я пытался ссылаться на эту строку, но она ничего не отображает. Однако, когда я пытаюсь отобразить текст без какого-либо форматирования, это вроде работает, но я знаю, что объединение строк в textview не является предпочтительным.
Initialize.java
textview.setText(getString(R.string.operator_mixed, a1, operator1, a2, operator2, a3));
Где a1, a2, a3 - целые числа, а operator1, operator2 - строки.
Есть ли проблемы с моим кодом?
Я понял. Мне просто нужно передать контекст как это:
textview.setText(c.getResources().getString(R.string.operator_mixed, a1, operator1, a2, operator2, a3))
здесь c - контекст MainActivity.
Попробуй с ниже
<string name="operator_mixed">%d %s %d %s %d</string>
textview.setText(String.format(getString(R.string.operator_mixed),a1,operator1,a2,operator2,a3)));
Вы должны использовать String.format()
Я только что попробовал этот код в моем приложении.
string.xml: (такой же, как ваш)
<string name="operator_mixed">%d %s %d %s %d</string>
MyActivity.java
int a1 = 10;
int a2 = 20;
int a3 = 30;
String operator1 = "Operator 1";
String operator2 = "Operator 2";
my_txt_title.setText(getResources().getString(R.string.operator_mixed, a1, operator1, a2, operator2, a3));
Работает нормально.