目前,我正在制作一个收银台应用程序。我有一个EditText
,其中包含购物车中包含的项目(字符串)。我可以通过触摸按钮添加项目。但是现在我只需要一个按钮就可以将最新输入的文本EditText
减去EditText
。
例如,如果我添加牛奶(1 $),糖(0.8 $),EditText
将显示"牛奶+糖"。然后我想删除最新的糖项目。所以我触摸删除按钮,我现在想要EditText
只显示牛奶。所以它减少了糖和糖#34;只要。我的大脑不再有任何想法。
注意:在这种情况下,TextView
可以替换EditText
。
顺便说一下,我无法显示我的代码。我没带笔记本电脑。
最后,如果您有另一种方法可以删除最新的输入,就像我可以删除牛奶一样,即使它不是最新的输入,那也不错:)。
感谢您的关注!:)
答案 0 :(得分:1)
将所选项目存储在List
。
List<String> selectedItems = new ArrayList<String>();
更新EditText
,如下所示,
private void updateEditText() {
StringBuilder text = new StringBuilder();
for (int i = 0; i < selectedItems.size(); i++ ) {
text.append(item);
if(i != selectedItems.size() -1) {
text.append(" + ");
}
}
editText.setText(text.toString());
}
添加到所选List
的方法,
private void addItem(String item){
// add some duplicate checking logic if needed
// add the item to selected list
selectedItems.add(item);
// update the EditText
updateEditText();
}
从所选List
private void removeItem(String item){
// remove the item from selected list
selectedItems.remove(item);
// update the EditText
updateEditText();
}
例如,
用户选择&#34; Milk&#34;和&#34;糖&#34;:
addItem("Milk");
addItem("Sugar");
用户删除&#34; Milk&#34;:
removeItem("Milk");
希望有所帮助:)