2011-09-13 166 views
2

我想輸入後輸入的文本。我已經完成了使用TextWatcherAndroid EditText:輸入文字

有一些問題:

例如,我想輸入32.5。在該方法中,我想添加到SET<Product>

這裏每個&每一批自己的儲蓄object.That意味着進入後3及其附加產品的對象爲SET,然後加入2然後還加入...

我想避免。一旦我完成進入EditText,然後希望把它:

final EditText txtQty = new EditText(this); 
txtQty.addTextChangedListener(new TextWatcher() { 
    public void afterTextChanged(Editable s) { 
    Log.v("TAG", "afterTextChanged" + s.toString()); 
    String enterdPrice = txtPrice.getText().toString(); 
    double remainQty =0.00; 
    Product enterdProduct = new Product(); 
    try{ 
     String enteredQty = s.toString(); 
     enterdProduct.setProductCode(txtCode.getText().toString()); 
     enterdProduct.setPrice(Double.parseDouble(enterdPrice)); 
     //enterdProduct.setQty(Double.parseDouble(enteredQty)); 
     // TO-DO 
     if (productSet.contains(enterdProduct)) { 
      productSet.remove(enterdProduct); 
     } 
     productSet.add(enterdProduct); 

     System.out.println("SIZE --" + productSet.size()); 
    } 
    catch (Exception e) { 
    e.printStackTrace(); 
    } 
});  

請給我的想法,我們怎樣才能獲得的EditText輸入一次我enetred文字?

回答

6

您可以通過鍵盤上的「Enter」按鈕來輸入文本。從Android tutorial

+0

並非總是按下ENTER鍵。您也可以將焦點切換到另一個字段。 –

0

您不能使用單獨的按鈕來使用EditText中的值添加對象嗎?

+0

No.I有產品清單。如果數量是由用戶輸入的,則需要添加單獨的清單並將其傳遞給其他活動。 – Piraba

+0

「需要添加單獨的列表」是什麼意思? – LordTwaroog

+0

如果用戶輸入特定產品的數量,則需要添加到設置並且想要傳遞一個活動。如何識別是否輸入全文? – Piraba

0

final EditText edittext = (EditText) findViewById(R.id.edittext); 
edittext.setOnKeyListener(new OnKeyListener() { 
    public boolean onKey(View v, int keyCode, KeyEvent event) { 
     // If the event is a key-down event on the "enter" button 
     if ((event.getAction() == KeyEvent.ACTION_DOWN) && 
      (keyCode == KeyEvent.KEYCODE_ENTER)) { 
      // Perform action on key press 
      return true; 
     } 
     return false; 
    } 
}); 

代碼擴展EditText類並覆蓋onEndBatchEdit實現節能的功能已經在「批」(可以實現某種形式的偵聽器接口)的經過編輯之後。