2016-10-10 10 views
0

現在、私はキャッシャーアプリを作っています。ショッピングカートに含まれている商品(文字列)を含むEditTextがあります。タッチして項目を追加できます。しかし、今私はEditTextに最新の入力テキストでEditTextを引くボタンが必要です。android - substract edittextのテキスト

たとえば、牛乳(1 $)、砂糖(0.8 $)を追加すると、EditTextは「牛乳+砂糖」と表示されます。それから私は砂糖である最新のものを取り除きたい。だから私は削除ボタンをタッチし、私は今EditText牛乳だけを表示したい。だから、それは "砂糖"だけを引く。私の脳はもはやいかなる考えも持っていません。

注:TextViewは、この場合はEditTextを置き換えることができます。

そして、私のコードを表示することはできません。私はラップトップを持参していない。

最後に、最新の入力だけでなく、最新の入力でもミルクワードを削除できるように、別の方法で削除する方法がある場合は、それは良い方法です。

ご清聴ありがとうございました!:)

+0

あなたはどこに選択した項目を保存しますか? –

+0

私はそれらを保管しないでください。私は彼らが選択したユーザーアイテムを伝えるだけです。次に、総価格をintとして保存します。したがって、ユーザーが商品を追加すると、合計価格に価格が追加されます。ちなみに、選択したアイテムを保存することは私にはわかります。ありがとうございました! – Sena

+0

私の考えを以下に見てください。 –

答えて

1

ストアListで選択した項目を。更新EditText次のように

List<String> selectedItems = new ArrayList<String>(); 

、選択Listに追加する

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(); 
} 

方法、

private void removeItem(String item){ 

    // remove the item from selected list 
    selectedItems.remove(item); 

    // update the EditText 
    updateEditText(); 
} 
例えば、

ユーザーは "ミルク" と "砂糖" を

を選択:

addItem("Milk"); 
addItem("Sugar"); 

ユーザーは "ミルク" を削除します。

removeItem("Milk"); 

はそれが役に立てば幸い:)

+0

うわー!しかし、それは変更が必要です。そのコードは別の商品を入力しても同じ商品になります。ですから、text.append(item)をtext.append(selectedItems.get(i))に変更します。ところで、ありがとう!私は後でコードを送信します:) – Sena

関連する問題