为什么 TextView 无法显示来自 android 资源的格式化文本?

Why does TextView cannot display formatted text referred from android resources?

我正在尝试显示我在 TextView 中设置的文本。我已经在 strings.xml 中分配了一个名称为 operator_mixed

的字符串

Strings.xml

<string name="operator_mixed">%d  %s %d  %s %d</string>

并且在我的 initialize.java 文件中我试图引用这个字符串,但是当我尝试显示没有任何格式的文本时它不显示 anything.However 它有点管用,但我知道连接文本视图中的字符串不可取。

Initialize.java

textview.setText(getString(R.string.operator_mixed, a1, operator1, a2, operator2, a3));

其中 a1、a2、a3 是整数,operator1、operator2 是字符串。

我的代码有问题吗?

尝试以下

<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));

一切正常。

我明白了。我只需要传递这样的上下文:

textview.setText(c.getResources().getString(R.string.operator_mixed, a1, operator1, a2, operator2, a3))

这里c是MainActivity的上下文。