2013-04-04 74 views
0

我有3個EditTexts用於密碼字段。每個只能包含一個數字。輸入密碼時,我已實施請求重點。但是,當我刪除數字時,如何將焦點從一個EditText更改爲另一個EditText?如何在android中刪除文本時更改編輯框焦點

+0

在edittexts上使用textwatcher。 – 2013-04-04 13:29:52

+0

使用Editfield上的onTextChange偵聽器, – 2013-04-04 13:34:14

回答

0

這是使用帶有一個密碼的edittext的最佳做法。

et1 = (EditText) findViewById(R.id.code1); 
et2 = (EditText) findViewById(R.id.code2); 
et3 = (EditText) findViewById(R.id.code3); 

et1.addTextChangedListener(new TextWatcher() { 

      @Override 
     public void onTextChanged(CharSequence s, int start, int before, 
       int count) { 

     } 

     @Override 
     public void beforeTextChanged(CharSequence s, int start, int count, 
       int after) { 

     } 

     @Override 
     public void afterTextChanged(Editable s) { 
      if (s.length() == 1) { 
       et2.requestFocus(); 
      } 

     } 
    }); 

    et2.addTextChangedListener(new TextWatcher() { 

     @Override 
     public void onTextChanged(CharSequence s, int start, int before, 
       int count) { 
     } 

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

     } 

     @Override 
     public void afterTextChanged(Editable s) { 
      if (s.length() == 1) { 
       et3.requestFocus(); 
      } else if (s.length() == 0) { 
       et2.clearFocus(); 
       et1.requestFocus(); 
      } 
     } 
    }); 

你必須這樣管理。

相關問題