尝试在Android中繁殖

尝试在Android中繁殖,android,textview,Android,Textview,我试图制作一个简单的转换器,将输入的值乘以2.2,但在将结果发送到文本视图时遇到问题。我收到的错误是“无法解析方法setText(Double)”。有什么建议吗 public void onClick(View v) { double result =0; double a = Double.parseDouble(weightEntered.getText().toString().trim()); double b = 2.2; if(v == button_

我试图制作一个简单的转换器,将输入的值乘以2.2,但在将结果发送到文本视图时遇到问题。我收到的错误是“无法解析方法setText(Double)”。有什么建议吗

public void onClick(View v) {
    double result =0;
    double a = Double.parseDouble(weightEntered.getText().toString().trim());
    double b = 2.2;
    if(v == button_convert)
    {
        if(lbs_kg.isChecked() == true)
            result = (a * b);
            t1.setText(result);
        if(kg_lbs.isChecked() == true)
            t1.setText("Selected is : "+kg_lbs.getText());
    }

您需要将双精度值转换为字符串,因为
setText()
只能将文本值设置为其视图。 更新此行

  t1.setText(result);

t1.setText(String.valueOf(result))

您需要将双精度值转换为字符串,因为
setText()
只能将文本值设置为其视图。 更新此行

  t1.setText(result);

t1.setText(String.valueOf(result))

将双精度转换为字符串

这很重要,因为存在于多个重载签名中

您在问题中使用的签名使用的是字符串资源ID!您需要首先将该数字转换为字符串,以便TextView知道如何正确使用它

String str = String.valueOf(result);
t1.setText(str);

将双精度转换为字符串

这很重要,因为存在于多个重载签名中

您在问题中使用的签名使用的是字符串资源ID!您需要首先将该数字转换为字符串,以便TextView知道如何正确使用它

String str = String.valueOf(result);
t1.setText(str);
使用
String.format()
可以控制输出值的精度


使用
String.format()
可以控制输出值的精度。

告诉他为什么这很重要。同样
String.valueOf(result)
也可以工作。这也是解决方案,但不是正确的方法@user3091082,如上所述,这不是将数字转换为字符串的好方法。检查其他答案并更新您的代码。@user3091082根据我更新的答案更新您的代码,因为旧方法不适合这样做,并标记正确的绿色符号,以便其他用户可以获得他们问题的答案。谢谢您的帮助。请大家告诉他为什么这很重要。同样
String.valueOf(result)
也可以工作。这也是解决方案,但不是正确的方法@user3091082,如上所述,这不是将数字转换为字符串的好方法。检查其他答案并更新您的代码。@user3091082根据我更新的答案更新您的代码,因为旧方法不适合这样做,并标记正确的绿色符号,以便其他用户可以获得他们问题的答案。谢谢大家的帮助