私は4つのテキストボックスを持っています。
ユーザーが textBox に触れると、現在のテキストを int とは別に保存しますtmpText
新しいテキストを空の文字列に設定します。
次に、ユーザーは新しいテキストを入力します。
ユーザーが何も入力していない場合は、textBox に を再入力しtmpText
ます。
ユーザーがテキストの最大長を入力した場合、フォーカスは次の textBox に移動します (watchText
デリゲートを使用)。
問題は、ユーザーが textBox をクリックし、何も入力しないシナリオにあります。
別のテキストボックスを押します(次のものではありません)。
テキストが保存されtmpText
、textBox に再入力されます。
そのため、システムはフォーカスを次のボックスに移動します
2 つのテキスト ボックスにフォーカスがあります。
このシナリオを区別するためにフラグを使用しisRestoredData
、フォーカスを次の textBox に移動しませんでした。
しかし、オーバーライド署名はそれを許可しません:
editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence seq, int start, int before, int count) {
どうすればこれを修正できますか?