有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Android:无法从静态上下文引用非静态方法。困惑的

我对Java和编程非常陌生。我写这篇文章是为了编写一个基本程序,将用户输入的两个数字相加,并显示在输出框中,但是我得到了Non-static method 'setText(java.lang.CharSequence)' cannot be referenced from a static context,但我不知道静态的东西是什么

private void onClick(View v) {
    EditText input1 = (EditText) findViewById(R.id.input1);
    double calc1 =  Double.parseDouble(String.valueOf(input1));
    EditText input2 = (EditText) findViewById(R.id.input2);
    double calc2 = Double.parseDouble(String.valueOf(input2));
    double total = calc1 + calc2;
    String result = Double.toString(total);
    EditText output1 = (EditText) findViewById(R.id.output);
    EditText.setText(result);
}

给出错误的行:

EditText.setText(result);

抱歉,如果我非常不称职,但我搜索过了,我真的不知道如何修复它。谢谢


共 (3) 个答案

  1. # 1 楼答案

    当您已经将EditText的对象定义为output1时,现在必须使用对象名

    使用

     output1.setText(result);
    

    代替

    EditText.setText(result);
    
  2. # 2 楼答案

    改变 最后一行

    output1.setText(result);
    
  3. # 3 楼答案

    改变

    EditText.setText(result);
    

    output1.setText(result);