下次输入后,Android文本将从文本视图中消失

时间:2017-09-11 11:28:10

标签: java android android-studio-2.3

我是Android工作室的新手,我正在构建一个计算器应用程序,我的问题是每当我输入一个数字,然后选择一个操作符,文本视图中的数字就会消失,如果我想要2+4,我按2然后+2从文本视图中消失,然后当我按4时,+从文本视图中消失,但结果是正确的< / p>

这是我的java代码......

    buttonAdd.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            if (edt1 == null){
                edt1.setText("");
            }else {
                mValueOne = Float.parseFloat(edt1.getText() + "");
                mAddition = true;
                edt1.setText(null);
            }
        }
    });

    buttonSub.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mValueOne = Float.parseFloat(edt1.getText() + "");
            mSubtract = true ;
            edt1.setText(null);
        }
    });

    buttonMul.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mValueOne = Float.parseFloat(edt1.getText() + "");
            mMultiplication = true ;
            edt1.setText(null);
        }
    });

    buttonDivision.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mValueOne = Float.parseFloat(edt1.getText()+"");
            mDivision = true ;
            edt1.setText(null);
        }
    });

    buttonEqual.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mValueTwo = Float.parseFloat(edt1.getText() + "");

            if (mAddition == true){

                edt1.setText(mValueOne + mValueTwo +"");
                mAddition=false;
            }


            if (mSubtract == true){
                edt1.setText(mValueOne - mValueTwo+"");
                mSubtract=false;
            }

            if (mMultiplication == true){
                edt1.setText(mValueOne * mValueTwo+"");
                mMultiplication=false;
            }

            if (mDivision == true){
                edt1.setText(mValueOne / mValueTwo+"");
                mDivision=false;
            }
        }
    });

    buttonC.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            edt1.setText("");
        }
    });

    button10.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            edt1.setText(edt1.getText()+".");
        }
    });
}

3 个答案:

答案 0 :(得分:0)

您正在正确收集数据,但是您继续将edt1设置为null,然后当您点击+ edt1时将始终为null

name.vec<-c('df1','df2','df3','df4','df5','df5')

请问您为什么要使用相同的editText字段来执行此操作?

我建议使用2个edittext字段。

第一个数字

1 1代表第二个数字

然后在textview中显示结果?

您可以使用下面的代码实现类似的功能 map

library("xlsx")
write.xlsx(df1,file ="df1.xlsx")
write.xlsx(df2,file ="df2.xlsx")
write.xlsx(df3,file ="df3.xlsx")

然后,您可以从first_number和second_number收集数据,并在结果中显示结果。

答案 1 :(得分:0)

使用append方法在现有

之后添加文本
edt1.append(someString);

答案 2 :(得分:0)

每次单击按钮时,您都将编辑文本设置为null。这将清除其中的文字。如果你想添加文本,请使用append方法。