android - 我做错了什么?错误是 Cannot invoke getText() on the primitive type double

标签 android

    final EditText number1 = (EditText) findViewById(R.id.editText1);
    final EditText number2 = (EditText) findViewById(R.id.editText2);
    final TextView result =(TextView) findViewById(R.id.textView3);

    Button calculate = (Button) findViewById(new View.OnClickListener() {

我做错了什么?

    public void onClick(View v) {

number1 和 number to cast double 但我收到“无法在基本类型 double 上调用 getText()”错误

    double number1 = Double.parseDouble(number1.getText().toString());//error

    double number2 = Double.parseDouble(number2.getText().toString());error         

        result.setText(String.valueOf(number1*number2));

最佳答案

改变这个

 final EditText number1 = (EditText) findViewById(R.id.editText1);
 final EditText number2 = (EditText) findViewById(R.id.editText2);

final EditText num1 = (EditText) findViewById(R.id.editText1);
final EditText num2 = (EditText) findViewById(R.id.editText2);

并使用

double number1 = Double.parseDouble(num1.getText().toString());
double number2 = Double.parseDouble(num2.getText().toString());

您有 EditText numberr1double number1

使用 MainActivity.this.varaiblename 来引用在 onClick 之外声明和初始化的变量。

你可能想检查一下

What is variable shadowing used for in a Java class?

找到更好的解释@

question about variable scope and shadowing in java

也试一试

try
{
final EditText num1 = (EditText) findViewById(R.id.editText1);
final EditText num2 = (EditText) findViewById(R.id.editText2);
}catch(NumberFormatException e){
    e.printStacktrace();
}

如果字符串不包含可解析的 double ,则抛出 NumberFormatException

关于android - 我做错了什么?错误是 Cannot invoke getText() on the primitive type double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22032564/

相关文章:

android - 无法在 Android 的 Quickblox 中创建 session

android - 使用 webview 从本地 "assets"文件夹加载图像或整个站点

android - 如何在 android 中的 ItemTouchHelper.SimpleCallback 滑动方法中修复滑动宽度

Android:给定当前位置和我周围地方的纬度/经度如何决定哪些地方在相机中可见?

java.lang.runtimeException : unable to start activity componentinfo{}: java. lang.nullpointerException

java - Android Studio,/storage/emulated/0 不存在

android - 如何使用 HTML url 加载新窗口?在安卓系统中

java - Android - 使用掩码格式化字符串

android - 使用支持库时更改弹出菜单背景颜色

android - 将字符串传递给 fragment