2012-11-20 50 views
3

即时使用TextSwitcher移动到下一个文本字段自动移动到下一个字段完美 但当光标移动到下一个字段它仍然集中前一个文本字段 这是代码以下失去焦点移动下一个文本字段使用文本切换

public void textWatcher(){ 

     pin.addTextChangedListener(new TextWatcher() { 


      @Override 

      public void onTextChanged(CharSequence s, int start, int before, 

          int count) { 

       if(pin.getText().toString().length()==1) 

       { 


        pin2.requestFocus(); 

        pin.clearFocus(); 


       } 

      } 

      @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 



      } 

     }); 
} 

任何建议帮助将不胜感激 问候 乌斯曼库尔德

回答

2
public void textWatcher(){ 
    pPin1.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(pPin1.getText().toString().length()==1) 
    { 
     pPin2.requestFocus(); 
    } 
    // TODO Auto-generated method stub 

    } 

    }); 
} 

请试试这个代码。它会工作完美。

+0

中处理过了。非常感谢你们已经救了我的一天 –

2

请使用

pin2.setFocusable(true);

那么它会完美的工作。

请尽量

+0

其实我的文本字段是密码类型所以它不工作与SetFocusable我也已经尝试过它也clearfocus() –

+0

请在xml中设置pin1最大字符限制。这样它就不会再在pin1中写入并移动到pin2。 –

+0

所有的先决条件都已经在XML @ Umer Abid –

相关问题