Android EditText:输入文字

时间:2011-09-13 09:01:54

标签: android android-edittext

我希望获得输入后的文字。我已经完成了使用TextWatcher

有一些问题:

例如我想输入32.5。在那个方法中,我想添加到SET<Product>

这里每个&amp;每个数字都是它的保存对象。这意味着在输入3之后它将Product对象添加到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();
    }
});      

请给我一个想法,我们如何在输入I enetred text后获取EditText?

3 个答案:

答案 0 :(得分:6)

您可以在按键盘上的“Enter”按钮时输入文字。

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

来自Android tutorial的代码

答案 1 :(得分:0)

你不能使用单独的按钮来使用EditText中的值添加对象吗?

答案 2 :(得分:0)

扩展EditText类并覆盖onEndBatchEdit以在“批处理”中编辑后实现保存功能(可以实现某种侦听器接口)。