2016-07-21 10 views
1

よりに表示されるEditTextから、製品を追加できます。これで、同じ製品を再び入力したくありません。 DBからデータをフェッチしました...ヘルプが必要です、下記のコードを見つけてください!arraylistでeditTextをチェックして、同じデータを入力させないようにしてください

addBtn.setOnClickListener(new View.OnClickListener() { 

       public void onClick(View v) { 
        String nullProduct = product.getText().toString(); 
        nullQuant = quantity.getText().toString(); 

        if (nullProduct.matches("") || nullQuant.matches("")) { 
         Toast.makeText(InvoiceView.this, "Please choose Product and Quantity", Toast.LENGTH_LONG).show(); 
         return; 
        } else { 

         quant = Integer.parseInt(quantity.getText().toString());  // Calculation of quantity + unit price 
         unitprice = Double.parseDouble(prounitprice); 
         result = quant * unitprice; 
         Result = String.valueOf(result); 
               // Total value of sales order 
         Map<String, String> dataFinal = new HashMap<String, String>(); 
         dataFinal.put("A", proname); 
         dataFinal.put("B", String.valueOf(quant)); 
         dataFinal.put("C", String.valueOf(unitprice)); 
         dataFinal.put("D", Result); 
         proFinal.add(dataFinal); 

         String[] from = {"A", "B", "C", "D"}; 
         int[] listviews = {R.id.lblproname, R.id.lblproqty, R.id.lblprorate, R.id.lblprototal}; 
         final SimpleAdapter ADA = new SimpleAdapter(InvoiceView.this, 
           proFinal, R.layout.lsttemplate, from, 
           listviews); 
         lstpro.setAdapter(ADA); 

         int count = proFinal.size(); 
         for (int i = 0; i < count; i++) { 

          HashMap<String, String> map = (HashMap<String, String>) proFinal.get(i); 
          String sValue; 
          if (proFinal.size() > 1) { 
           sValue = map.get("A"); 
           if (nullProduct.equals(sValue)) { 
            Toast.makeText(InvoiceView.this, "Product already added", Toast.LENGTH_SHORT).show(); 
           } else { 
          // incomplete code section 

           } 
          } 
         } 
         }      
         product.setText(""); 
         quantity.setText(""); 

       } 
      }); 

    } 
+0

'EditText'からデータを取得してから、あなたの' ArrayList'要素と比較してください –

答えて

0

製品名をハッシュマップに保存します。マップに入力した商品がキーとして登録されていない場合は、入力された商品と地図キーを比較します。そうでなければ、 "Product already exists .. !!"のようなメッセージを表示します。

コードの下に試してみてください。

Map<String, String> dataFinal = new HashMap<String, String>(); 
    dataFinal.put("A", "name"); 
    dataFinal.put("B", "String.valueOf(quant)"); 
    dataFinal.put("C", "String.valueOf(unitprice)"); 
    dataFinal.put("D", "Result"); 

    for (int i = 0; i < dataFinal.size(); i++) { 
     String yourEnteredProduct = "D";//Assume new product D which is already existed,so you should not save it 
     if (!dataFinal.containsKey(yourEnteredProduct)) { 
      //Save you newly entered product 
     } else { 
      //Product already exists 
     } 
    } 

は、それはあなたを助けることを願っています。

関連する問題