私は電卓を作成しましたが、私はすべてのiphone/android電卓のようにTextView
に数字を表示することはできません。ユーザーがクリックしたテキストビューに数字を表示する方法は?
たとえば、ユーザーが5 + 5をクリックした場合、5 + 5をテキストビューに表示し、等しくなると10を表示します。これを理解するためにさまざまな方法を試しましたが、エラーが発生します。
ClearBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
TextView output = (TextView) findViewById(R.id.text_view);
output.setText("");
}
});
Button0.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
textView.setText(textView.getText() + "0");
}
});
Button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
textView.setText(textView.getText() + "1");
}
});
Button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
textView.setText(textView.getText() + "2");
}
});
Button3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
textView.setText(textView.getText() + "3");
}
});
Button4.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
textView.setText(textView.getText() + "4");
}
});
Button5.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
textView.setText(textView.getText() + "5");
}
});
Button6.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
textView.setText(textView.getText() + "6");
}
});
Button7.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
textView.setText(textView.getText() + "7");
}
});
Button8.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
textView.setText(textView.getText() + "8");
}
});
Button9.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
textView.setText(textView.getText() + "9");
}
});
// Operation Buttons
addBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(textView == null) {
textView.setText(" ");
} else {
firstValue = Double.parseDouble(textView.getText() + " ");
addition = true;
textView.setText(null);
}
}
});
subBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
firstValue = Double.parseDouble(textView.getText() + " ");
subtract = true;
textView.setText(null);
}
});
divideBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
firstValue = Double.parseDouble(textView.getText() + " ");
divison = true;
textView.setText(null);
}
});
multiBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
firstValue = Double.parseDouble(textView.getText() + " ");
multiplication = true;
textView.setText(null);
}
});
equalBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
secondValue = Double.parseDouble(textView.getText() + " ");
if(addition == true) {
textView.setText(firstValue + secondValue + " ");
addition = false;
}
if(subtract == true) {
textView.setText(firstValue - secondValue + " ");
subtract = false;
}
if(divison == true) {
textView.setText(firstValue/secondValue + " ");
divison = false;
}
if(multiplication == true) {
textView.setText(firstValue * secondValue + " ");
multiplication = false;
}
}
});
最初に 'textView.getText()。toString()'を設定します –
あなたのエラーは何ですか? – Nivedh
エラーは次のようになります:5 - 5 "java.lang.NumberFormatException:無効な倍精度:" - 5 "imは二重ではないことを示す減算記号のために仮定します – Sean