对于参数类型double,EditText,运算符*未定义

时间:2012-02-11 05:00:09

标签: java android operators

我真的不确定为什么会收到此错误。它可能很简单,但我是新手。

final Button calculate = (Button) findViewById(R.id.calculate);
calculate.setOnClickListener(new View.OnClickListener() {
        // Implement the OnClickListener callback       
        private void onClick(Button calculate) {
                double perimeter = 2 * (Math.PI * entry); //error on this line
                System.out.print(perimeter);

                }

        public void onClick(View v) {
        // TODO Auto-generated method stub
            }
        }

    );

1 个答案:

答案 0 :(得分:5)

entry似乎是EditText个对象......您无法将其加倍。

我会做出有根据的猜测,你想要将<{em> 中的EditText相乘。查看javadoc,您需要使用entry.getText().toString()获取文本,并将其转换为数字类型(前提是文本代表数字类型)。

double myInputDouble = Double.parseDouble(entry.getText().toString());

(或Integer.parseInt(),如果这是您所期待的)

http://developer.android.com/reference/android/widget/EditText.html
http://docs.oracle.com/javase/6/docs/api/java/lang/Double.html
http://docs.oracle.com/javase/6/docs/api/java/lang/Integer.html