android - substract edittext的文本

时间:2016-10-10 07:30:03

标签: java android

目前,我正在制作一个收银台应用程序。我有一个EditText,其中包含购物车中包含的项目(字符串)。我可以通过触摸按钮添加项目。但是现在我只需要一个按钮就可以将最新输入的文本EditText减去EditText

例如,如果我添加牛奶(1 $),糖(0.8 $),EditText将显示"牛奶+糖"。然后我想删除最新的糖项目。所以我触摸删除按钮,我现在想要EditText只显示牛奶。所以它减少了糖和糖#34;只要。我的大脑不再有任何想法。

注意:在这种情况下,TextView可以替换EditText

顺便说一下,我无法显示我的代码。我没带笔记本电脑。

最后,如果您有另一种方法可以删除最新的输入,就像我可以删除牛奶一样,即使它不是最新的输入,那也不错:)。

感谢您的关注!:)

1 个答案:

答案 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");

希望有所帮助:)