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