指定された入力文字を処理し、ボックスをクリアして、別の文字を処理する準備をしようとしています。
アプリは、常に最大 1 文字の EditBox を使用します。ユーザーが新しい文字を入力すると、リスナーが起動します。そのリスナー (TextWatcher) の afterTextChanged メソッドは、入力された文字を処理し、テキストをクリアします。その後、テキスト ボックスをクリアし、次のメッセージをリッスンできるようにします。しかし、その後も発砲し続けます。1 回おきの発火のみを処理するようにフラグを設定しようとしましたが、時々それが不正で奇数回発火し、フラグが間違って反転することがあります。
@Override
public void afterTextChanged(Editable arg0) {
if (arg0.length() > 0) {
//if (mToggle)
{
act.checkText(arg0.toString().substring(arg0.length() - 1));
text.setText("");
}
mToggle = !mToggle; // to catch extra fire-off
}
}
mToggle は TextWatcher 実装のプロパティ変数です。
1) なぜ複数発砲するのですか?
2) 代わりにここで何をする必要がありますか?
どうもありがとう、
ネイサン