以下是我编码为计算器输入数字的方法。该代码功能齐全,无错误。
我正在试图弄清楚如何编写一个名为backspace
的单独方法,一次从用户输入中删除一个字符。
举例说明onClick1
如何运作(只是为了清楚地说明我想做什么),如果我输入2+4*6
(使用按钮;他们的onClick操作链接到onClick1
}),然后textViewCalcHistExp1
会显示文字2+4*6
,arrayList
将包含以下值:[2,+,4,*,6]
。
我希望backspace
能够正常工作,以便点击按钮(与backspace
方法相关联),textViewCalcHistExp1
的显示现在为2+4*
和{{ 1}}现在将包含以下值:arrayList
。
以下是代码:
[2,+,4,*]
答案 0 :(得分:2)
你可以这样做:
private void backspace() {
if (!arrayList.isEmpty()) {
// removing the last item from the ArrayList
arrayList.remove(arrayList.size() - 1);
}
String string = textViewCalcHistExp1.getText().toString();
if (string.length() > 0) {
// removing the last character from the TextView
textViewCalcHistExp1.setText(string.substring(0, string.length() - 1));
}
}
您还需要将textViewCalcHistExp1
变为实例变量(arrayList
已经是),方法是在onClick1()
之外声明它。