运算符不能应用于float,' android.widget.EditText'

时间:2016-08-06 09:25:57

标签: java android

我正在制作一个简单的计算器,而对于 - / +按钮我会编写下面的代码:

float ab=-1;
this.txtScreen = (EditText) findViewById(R.id.txtScreen);
unary=(Button)findViewById(R.id.plusminus);
        mod=(Button)findViewById(R.id.modul);

        unary.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                txtScreen.setText(ab*txtScreen);
            }
        });

并显示错误*运算符无法应用于浮动。

2 个答案:

答案 0 :(得分:1)

试试这个(它需要字符串):

    float ab=-1;


    unary=(Button)findViewById(R.id.plusminus); 
    mod=(Button)findViewById(R.id.modul); 

    unary.setOnClickListener(new View.OnClickListener() {
            @Override 
            public void onClick(View v) {
                txtScreen.setText(String.valueOf(ab * Float.valueOf(txtScreen.getText().toString())));
            } 
        }); 

编辑:从计算中获取txtScreen的值。

答案 1 :(得分:0)

这样做

float ab=-1;

unary=(Button)findViewById(R.id.plusminus);
        mod=(Button)findViewById(R.id.modul);
unary.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                txtScreen.setText(String.valueOf(ab*Float.parseFloat(txtScreen.getText().toString())));
            }
        });