android EditText 設置密碼鎖源碼
先設置監聽事件
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);
這就可以,每當你輸完一個輸入框的時候,焦點自動切到第二個輸入框,看效果圖

最後更新:2017-04-03 12:56:32