您好,很抱歉我的问题,我学习 Java,现在我正在为 android 构建一个测试程序。
int a = 10;
我用java:System.out.println(a);
这很完美。
通过android我不能使用setText(a);
?
我需要将变量转换为字符串吗?
谢谢!
波尔
您应该先阅读TextView的 Api 文档,然后您将了解在方法中传递整数值的含义setText()
。
setText()
是一个重载的方法。
如果我们传递整数值,它将考虑我们在值 xml 文件(例如 string.xml)中声明的资源 id,因此如果您传递整数值,它将尝试找到与我们传递的给定整数相关的资源 id,它找不到与给定整数匹配的此类资源并且应用程序崩溃。
希望你现在明白了。
使用String.valueOf()将整数值转换为 String:
int a=10;
text_Rate.setText(String.valueOf(a));
或者您可以添加""
Integer 以在 TextView 中显示整数值:
int a=10;
text_Rate.setText(""+a);
System.out.println()
可以将 String 除外作为参数。但是setText()
只接受一个字符串作为参数。因此,如果您想将数字显示为字符串,您可以使用该String.valueOf()
方法。
我希望这有帮助。
您需要在 上给出String
as 参数setText()
,因为a
is an int
。System.out.println()
接受一切,因为重载方法之一是System.out.println(Object)
,但setText()
没有。您可以使用String.valueOf(a)
或仅使用setText("" + a)
.
您需要将 int 转换为 String 对象
String s = Integer.toString(a);
view.setText(s);