大家好我们正在开发一个带有textview
的Android计算器应用,textview
中的所有文字都会输入ArrayList
。到目前为止,除了删除按钮之外,所有内容都可以正常工作,因此,如果我的ArrayList
包含元素[12999,+,56,-,545]
,我一直尝试删除String
的最后ArrayList
这是(5),因此ArrayList
变为[12999,4,56,4,54]
。这是我到目前为止的代码
public void delete(View view) {
String s;
into s1;
s = maincalculator.getText.to
string();
s1 = maincalculator.getText.to
string().length();
if(s1 > 0)
{
s = s.substring(0, s1 - 1);
maincalculator.setText(s);
arraylist.set(arraylist.size, s);
}
}
答案 0 :(得分:0)
您不会保留已删除字符串的结果。使用它。
String newStr = s.substring(0,s1-1);
maincalculator.setText(newStr);
arraylist.set(arraylist.size, newStr);
答案 1 :(得分:0)
哇,首先:将变量命名为有意义的东西,使代码更容易阅读和调试。
删除ArrayList中的最后一项:
myArrayList.remove(myArrayList.size() - 1)
.size()
返回项目计数,- 1
是获取索引(从0开始,对吧?)。
答案 2 :(得分:0)
编辑:在我意识到您要做的事情之后更新了。试试这个:
//Trim s to the substring that you want
s = s.substring(0, s.length() - 1);
//Set it to the last element in the arrayList
arrayList.set(arrayList.size() - 1, s);