カスタムキーボードを使用しています。
私は 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) {
}
}