ฉันไม่สามารถตั้งค่าสตริงใน TextView ในแอพ Android (โดยใช้ Java)

Sep 25 2020

ฉันกำลังสร้างแอป Android เครื่องคิดเลขง่ายๆใน Java ซึ่งจะได้รับตัวเลข 2 ตัวเป็นอินพุตและเมื่อผู้ใช้กดปุ่มการกระทำหนึ่งใน 4 ปุ่ม (+, -, *, /) แบบฝึกหัดและโซลูชันจะปรากฏที่ด้านล่างของ หน้าจอภายใน TextView ในรูปแบบนี้:

{num1} {action} {num2} = {solution}

ฉันพยายามประกาศสตริงและสร้างสตริงของการออกกำลังกายในนั้นและในที่สุดฉันก็ใช้ "setText" เพื่อเปลี่ยน TextView แต่แทนที่จะแสดงการออกกำลังกายเต็มรูปแบบเมื่อฉันเรียกใช้แอพมันจะแสดงบางสิ่งเช่น "androidx.appcompat.widget.AppCom ".

นี่คือตัวอย่างสำหรับสตริงที่ฉันสร้างขึ้นเมื่อผู้ใช้คลิกที่ปุ่ม +:

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

มีใครทราบบ้างไหมว่าปัญหานี้

คำตอบ

1 Noname Sep 25 2020 at 20:26

คุณควรโทรหาgetText()befor โทรtoString():

exerciseStr = etNum1.getText().toString() + " + " + etNum2.getText().toString() + " = " + String.valueOf(Integer.valueOf(etNum1.getText().toString())+Integer.valueOf(etNum2.getText() + ""));
Asadkhan Sep 25 2020 at 20:29

เปลี่ยนเป็นแบบนี้

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