0

私は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) {

どうすればこれを修正できますか?

4

1 に答える 1