i tried to do a "simple" calculator on android. when i click "Del" button i want that last number is deleted. But when i want to delete "sin", "cos", "tan" or "ln" from the EditText(calulator display) i tried to find a way to delete the last 2/3 char instead of the last one.
this is the method that control on "Del" button click:
public void setDelOnClick() {
EditText viewCal = (EditText) findViewById(R.id.viewCal);
int lengthView = viewCal.getText().length();
String viewCalString = viewCal.getText().toString();
if(lengthView == 1)
viewCal.getText().delete(0, 1);
else if(lengthView > 1) {
String last2Char = viewCalString.substring(lengthView -2, lengthView);
switch(last2Char) {
case "in":
viewCal.getText().delete(lengthView - 3, lengthView);
break;
case "os":
viewCal.getText().delete(lengthView - 3, lengthView);
break;
case "ln":
viewCal.getText().delete(lengthView - 2, lengthView);
break;
default:
viewCal.getText().delete(lengthView - 1, lengthView);
break;
}
}
}
but it doesn't work and when i try to delete something, CRASH. Can you help me to find a way to delete correctly what is in the calculator display?
Aucun commentaire:
Enregistrer un commentaire