Editext值添加不起作用

时间:2015-05-06 19:35:53

标签: android

EditText crr1 = (EditText) findViewById(R.id.ch1);
        add=Double.parseDouble(crr1.getText().toString());
        EditText crr2 = (EditText) findViewById(R.id.ch2);
        add1=(Double.parseDouble(crr2.getText().toString()));
        EditText crr3 = (EditText) findViewById(R.id.ch3);
        add2=(Double.parseDouble(crr3.getText().toString()));
        EditText crr4 = (EditText) findViewById(R.id.ch4);
        add3=(Double.parseDouble(crr4.getText().toString()));
        EditText crr5 = (EditText) findViewById(R.id.ch5);
        add4=(Double.parseDouble(crr5.getText().toString()));
        EditText crr6 = (EditText) findViewById(R.id.ch6);
        add5=(Double.parseDouble(crr6.getText().toString()));
        tadd=add+add1+add2+add3+add4+add5;

我正在使用double添加edittext的值..为什么它显示错误?当我调用此代码时,为什么app会自动关闭.. !!

3 个答案:

答案 0 :(得分:1)

您尚未发布stacktrace,但确定。

初始化编辑文本,然后尝试解析从edittext.getText()。toString()获得的EMPTY字符串中的double。这就是它崩溃的原因。

如果您在物理设备上以调试模式运行应用程序,则可以使用Logcat查看日志的堆栈跟踪。

How to enable LogCat/Console in Eclipse for Android?

答案 1 :(得分:0)

您的应用可能崩溃,因为EditText中的值不是数字而您获得NumberFormatException。使用try,catch

包围代码
foreach my $filename ( @ARVG ) { 
    ## open; while; seek; while etc. 
}

答案 2 :(得分:0)

在你的onCreate方法中:

    EditText crr1 = (EditText) findViewById(R.id.ch1);        
    EditText crr2 = (EditText) findViewById(R.id.ch2);
    EditText crr3 = (EditText) findViewById(R.id.ch3);
    EditText crr4 = (EditText) findViewById(R.id.ch4);
    EditText crr5 = (EditText) findViewById(R.id.ch5);
    EditText crr6 = (EditText) findViewById(R.id.ch6);
    Button btnResult =(Button) findViewById(R.id.btn1);

现在添加按钮点击事件:

btnResult.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                  add=Double.parseDouble(crr1.getText().toString());
                  add1=(Double.parseDouble(crr2.getText().toString()));
                  add3=(Double.parseDouble(crr4.getText().toString()));
                  add4=(Double.parseDouble(crr5.getText().toString()));
                  add5=(Double.parseDouble(crr6.getText().toString()));
                  tadd=add+add1+add2+add3+add4+add5;
            }
        });

所有变量都应该是全局的。