2013-04-04 37 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(); 
      } 
     } 
    }); 

你必须这样管理。

相关问题