我正在使用自定义键盘。
我有 4EditText
和 1 Button
。
健康)状况:-
的最大长度EditText
为 1。每当在 中输入值时editText
,焦点应移至下一个EditText
。我正在使用TextWatcher
.
问题是当我在 EditText 中输入任何值时,焦点或光标会转到下一个 EditText,这很好,但是如果用户想要编辑输入的值,他无法将焦点放在触摸上,EditText
因为最大值已经存在. 显然光标移动到下一个EditText。
代码:-
public class Listener implements TextWatcher {
EditText editText;
public Listener(EditText et)
{
editText = et;
}
@Override
public void afterTextChanged(Editable s)
{
int id = editText.getId();
String str = s.toString();
if(!str.isEmpty())
{
switch (id) {
case R.id.edit_txt1:
et2.requestFocus();
break;
case R.id.edit_txt3:
et3.requestFocus();
break;
case R.id.edit_txt3:
et4.requestFocus();
break;
case R.id.edit_pin4:
createPin4.clearFocus();
EditText txt =(EditText)findViewById(R.id.foc);
txt.requestFocus();
break;
}
}
else
{
editText.setFocusable(true);
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
}