为什么 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的上下文。
我正在尝试显示我在 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的上下文。