0
我有3个EditTexts用于密码字段。每个只能包含一个数字。输入密码时,我已实施请求重点。但是,当我删除数字时,如何将焦点从一个EditText更改为另一个EditText?如何在android中删除文本时更改编辑框焦点
我有3个EditTexts用于密码字段。每个只能包含一个数字。输入密码时,我已实施请求重点。但是,当我删除数字时,如何将焦点从一个EditText更改为另一个EditText?如何在android中删除文本时更改编辑框焦点
这是使用带有一个密码的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();
}
}
});
你必须这样管理。
在edittexts上使用textwatcher。 – 2013-04-04 13:29:52
使用Editfield上的onTextChange侦听器, – 2013-04-04 13:34:14