Я добавляю кнопку backspace в свое приложение для калькулятора, и он отлично работает. Проблема заключается в том, что по умолчанию мой калькулятор берет цифры из десятичной части, то есть изначально она равна 0,00, когда я ввожу 1, она становится 0.01, когда я ввожу 2, она становится равной 0,12 и так далее и так далее. Теперь, когда я нажимаю backspace, он удаляет 2 и показывает 0,01, но если я нажму 3, а не покажу 0.13, это покажет 1.23. Как это решить?Невозможно сделать функцию кнопки backspace
код для кнопки возврата: -
private String addCurrency(String digits) {
String string = ""; // Your currency
enteredNumber = enteredNumber + digits;
// Amount length greater than 2 means we need to add a decimal point
if (enteredNumber.length() > 2) {
String rupee = enteredNumber.substring(0,
enteredNumber.length() - 2); // Pound part
String paise = enteredNumber.substring(enteredNumber.length() - 2); // Pence
// part
if (enteredNumber.contains(".")) {
}
string += rupee + "." + paise;
} else if (enteredNumber.length() == 1) {
string += "0.0" + enteredNumber;
Log.d("TextWatcher", "length 1 " + string);
} else if (enteredNumber.length() == 2) {
string += "0." + enteredNumber;
Log.d("TextWatcher", "length 2 " + string);
}
return string;
}
ГДЕ: - enteredNumber просто тип переменной типа String.
Спасибо, что предложили формат. Это была ошибка с моей стороны. Какие-либо предложения по поводу решения? – Kaushik
Используете ли вы прослушиватель onTextChanged на своем edittext – Darpan
Нет Дарпан, я не использую onTextChangedListener. Путь, я ввод номера в представлении, как это: - one.setOnClickListener (новый View.OnClickListener() { \t \t \t @Override \t \t \t общественный недействительный OnClick (View v) { \t \t \t \t enterAmount.setText (addCurrency ("1")); \t \t \t} \t \t}); – Kaushik