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

我对Java和一般编程非常陌生。我为一个基本程序编写了此代码,以将用户输入的2个数字相加,并将它们加起来并显示在输出框中,但是我得到了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);

抱歉,如果我非常不称职,但我搜索了一下,但我真不明白该如何解决。谢谢。

回答:

在静态上下文中,您没有对象(类的实例),但是实例变量和方法取决于它们。

您有一个名为output1的实例,但是您尝试通过类的名称调用方法“ setText”(这是静态方法)。

换行

EditText output1 = (EditText)findViewById(R.id.output);

EditText.setText(result);

EditText output1 = (EditText)findViewById(R.id.output);

output1.setText(result);

以上是 Android:非静态方法无法从静态上下文中引用。困惑? 的全部内容, 来源链接: utcz.com/qa/406990.html

回到顶部