2013-11-28 3 views
0

Я хотел бы получить значение edittext после того, как пользователь закончит ввод. Таким образом, по умолчанию, edittext пуст. В этом нет никакой ценности. После того, как пользователь вводит значение, он должен получить его.Android получает значение edittext после того, как пользователь заканчивает ввод

Это то, что я пробовал:

 etQuantity.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void afterTextChanged(Editable s) { 
      // TODO Auto-generated method stub 

      Log.d("Quantity", s_quantity); 

       int i_quantity = Integer.parseInt(s_quantity); 
       int i_grossAmount = i_quantity * i_sellingPrice; 
       etGrossAmount.setText(String.valueOf(i_grossAmount)); 
       Log.d("Gross Amount", "" + String.valueOf(i_grossAmount)); 


     } 

     @Override 
     public void beforeTextChanged(CharSequence s, int start, int count, int after) { 
      // TODO Auto-generated method stub 
     } 

     @Override 
     public void onTextChanged(CharSequence s, int start, int before, int count) { 
      // TODO Auto-generated method stub 

     }  
    }); 

Но он не получает правильного ввода значения I. Есть идеи? Помощь очень ценится. Благодарю.

+0

Тир использовать коды клавиш event.keyup, event.keydown решить эту – Invader

+0

@nikhil можете ли вы дать некоторые коды для этого? Спасибо – Dunkey

+1

'Но он не получает правильное значение, которое я вводил.« Что он получает, и что вы считаете «правильным значением». Не могли бы вы уточнить, чего вы хотите достичь? – FoamyGuy

ответ

6

сво быструю работу попробовать его надеюсь, что это помогает

EditText text = (EditText)findViewById(R.id.editText1); 
text.addTextChangedListener(new TextWatcher() { 

     @Override 
     public void onTextChanged(CharSequence s, int start, int before, int count) { 
      // TODO Auto-generated method stub 
      System.out.println("ONtext changed " + new String(s.toString())); 
     } 

     @Override 
     public void beforeTextChanged(CharSequence s, int start, int count, 
       int after) { 
      // TODO Auto-generated method stub 
      System.out.println("beforeTextChanged " + new String(s.toString())); 
     } 

     @Override 
     public void afterTextChanged(Editable s) { 
      // TODO Auto-generated method stub 
      System.out.println("afterTextChanged " + new String(s.toString())); 
     } 
    }); 
+0

спасибо, чувак! Это решает мою проблему – Dunkey

+0

рада помочь :-) – suja

2
final EditText et = (EditText)findViewById(R.id.editText1); 
     et.addTextChangedListener(new TextWatcher() { 

      @SuppressLint("ShowToast") 
      @Override 
      public void onTextChanged(CharSequence s, int start, int before, int count) { 
       // TODO Auto-generated method stub 
       Toast.makeText(MainActivity.this, "" + et.getText().toString(), 2000).show(); 

      } 

      @Override 
      public void beforeTextChanged(CharSequence s, int start, int count, 
        int after) { 
       // TODO Auto-generated method stub 

      } 

      @Override 
      public void afterTextChanged(Editable s) { 
       // TODO Auto-generated method stub 

      } 
     }); 

Попробуйте этот код ...

Смежные вопросы