我对Java和编程非常陌生.我写了一个基本程序,用来添加用户输入的2个数字并将它们添加起来并在输出框中显示它们,但是我得到"非静态方法"setText(java.lang.CharSequence)'无法引用从静态上下文",但我不知道静态的东西是什么
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);
}
Run Code Online (Sandbox Code Playgroud)
给出错误的行:
EditText.setText(result);
Run Code Online (Sandbox Code Playgroud)
对不起,如果我非常无能,但我搜索了,我真的不明白如何解决它.谢谢.
Stu*_*ske 31
在静态上下文中,您没有对象(类的实例),但实例变量和方法依赖于它们.
你有一个名为output1的实例,但你尝试通过类的名称(这是一种静态方法)调用你的方法'setText'.
改变你的台词
EditText output1 = (EditText)findViewById(R.id.output);
EditText.setText(result);
Run Code Online (Sandbox Code Playgroud)
至
EditText output1 = (EditText)findViewById(R.id.output);
output1.setText(result);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33047 次 |
| 最近记录: |