我无法在 Android 应用程序的 TextView 中设置字符串(使用 Java)

I can't set a string in a TextView in an Android app (using Java)

我正在 Java 中构建一个简单的计算器 Android 应用程序,它将接收 2 个数字作为输入,并且当用户按下 4 个操作按钮(+、-、*、/ ) 练习及其答案将以这种格式出现在屏幕底部的 TextView 中:

{num1} {操作} {num2} = {解决方案}

我试图声明一个字符串并在其中形成练习的字符串,最后我使用“setText”来更改 TextView 但是当我 运行 应用程序时它显示了一些东西而不是显示完整的练习像“androidx.appcompat.widget.AppCom”。

下面是用户单击 + 按钮时我形成的字符串示例:

exerciseStr = etNum1.toString() + " + " + etNum2.toString() + " = " + String.valueOf(Integer.valueOf(etNum1.getText() .toString())+Integer.valueOf(etNum2.getText() + ""));

有人知道问题出在哪里吗?

你应该在调用 toString() 之前调用 getText():

exerciseStr = etNum1.getText().toString() + " + " + etNum2.getText().toString() + " = " + String.valueOf(Integer.valueOf(etNum1.getText().toString())+Integer.valueOf(etNum2.getText() + ""));

改成这样。

exerciseStr = etNum1.getText().toString() + " + " + etNum2.getText().toString() + " = "  + String.valueOf(Integer.valueOf(etNum1.getText().toString())+Integer.valueOf(etNum2.getText() + ""));