我是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()+".");
}
});
}
答案 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方法。