您的位置:首页 > 移动开发 > Android开发

android EditText 设置密码锁源码

2015-09-13 11:17 399 查看




先设置监听事件  
private void edit_pass() {  
        tw = new TextWatcher() {  
            // @Override   
            public void beforeTextChanged(CharSequence s, int start, int count,  
                    int after) {  
  
            }  
  
            // @Override   
            public void onTextChanged(CharSequence s, int start, int before,  
                    int count) {  
                Log.w("Log", "----" + s);  
  
            }  
  
            // @Override   
            public void afterTextChanged(Editable s) {  
                if (s.toString().length() == 1) {  
                    if (pass1.isFocused()) {  
                        pass1.clearFocus();  
                        pass2.requestFocus();  
                    } else if (pass2.isFocused()) {  
                        pass2.clearFocus();  
                        pass3.requestFocus();  
                    } else if (pass3.isFocused()) {  
                        pass3.clearFocus();  
                        pass4.requestFocus();  
                    } else if (pass4.isFocused()) {  
                        pass4.clearFocus();  
                        InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);  
                        imm.hideSoftInputFromWindow(pass4.getWindowToken(), 0);  
                    }  
                }  
            }  
  
        };  
    }  
2.监听edittext  
pass1 = (EditText) findViewById(R.id.edit_pass1);  
 pass2 = (EditText) findViewById(R.id.edit_pass2);  
 pass3 = (EditText) findViewById(R.id.edit_pass3);  
 pass4 = (EditText) findViewById(R.id.edit_pass4);  
 pass1.addTextChangedListener(tw);  
 pass2.addTextChangedListener(tw);  
 pass3.addTextChangedListener(tw);  
 pass4.addTextChangedListener(tw);  
这就可以,每当你输完一个输入框的时候,焦点自动切到第二个输入框,看效果图  

先设置监听事件
private void edit_pass() {
tw = new TextWatcher() {
// @Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {

}

// @Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
Log.w("Log", "----" + s);

}

// @Override
public void afterTextChanged(Editable s) {
if (s.toString().length() == 1) {
if (pass1.isFocused()) {
pass1.clearFocus();
pass2.requestFocus();
} else if (pass2.isFocused()) {
pass2.clearFocus();
pass3.requestFocus();
} else if (pass3.isFocused()) {
pass3.clearFocus();
pass4.requestFocus();
} else if (pass4.isFocused()) {
pass4.clearFocus();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(pass4.getWindowToken(), 0);
}
}
}

};
}
2.监听edittext
pass1 = (EditText) findViewById(R.id.edit_pass1);
pass2 = (EditText) findViewById(R.id.edit_pass2);
pass3 = (EditText) findViewById(R.id.edit_pass3);
pass4 = (EditText) findViewById(R.id.edit_pass4);
pass1.addTextChangedListener(tw);
pass2.addTextChangedListener(tw);
pass3.addTextChangedListener(tw);
pass4.addTextChangedListener(tw);
这就可以,每当你输完一个输入框的时候,焦点自动切到第二个输入框,看效果图

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: