2016-01-15 72 views
-1

我想在某些文本後彈出鍵盤。即在滿足一些條件之後。如何在android中做到這一點。 即,如果(eT1的字符== et2的字符) eT1已經被輸入,現在在et2輸入中。後一些edittext輸入自動禁用android中的鍵盤

我已經使用: eT2.addTextChangedListener(新TextWatcher(){

  public void onTextChanged(CharSequence s, int start,int before, int count) 
      { 
       // TODO Auto-generated method stub 
    String oldPass = eT1.getText().toString();  if(!oldPass.contentEquals(e2.getText().toString())) 
       { 
       View view = this.getCurrentFocus(); 

如果(視圖= NULL){
InputMethodManager IMM =(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); IMM .hideSoftInputFromWindow(view.getWindowToken(),0);}

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

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

      } 

     }); 
+0

嘗試在'afterTextChanged'中執行此操作 – petey

+0

我試過了。問題是View.getWindowToken()顯示錯誤。與更正定義一個新的udf。 –

回答

1

嘗試是這樣的:

final EditText et1 = (EditText) findViewById(R.id.editText1); 
final EditText et2 = (EditText) findViewById(R.id.editText2); 

et1.setKeyListener(new KeyListener() { 

    public boolean onKeyUp(View view, Editable text, int keyCode, KeyEvent event) { 
     if(view.getText().equals(et2.getText()) { 
      InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
      imm.hideSoftInputFromWindow(view.getWindowToken(), 0); 

      return true; 
     } 

     return false; 
    } 
} 
相關問題