2012-08-22 50 views
10

私のアプリケーションでは、TextWatcherをEditTextに配置しました。 EditTextのテキストを変更すると、TextWatcherのイベントが2回呼び出されます。TextWatcherのイベントが2回呼び出されています

私はアプリを実行するためにエミュレータを使用しています。

+0

コードを入力してください。 – Slickelito

+0

コードplsを投稿してください。 – vipsy

+0

ここをクリックhttp://stackoverflow.com/questions/17535415/textwatcher-events-are-being-fired-multiple-times – susemi99

答えて

9

あなたのコードはどのように見えますか?これはTextWatcherの通常の動作です。 例:

myInput.addTextChangedListener(new TextWatcher() { 
     boolean mToggle = false; 

     public void onTextChanged(CharSequence cs, int s, int b, int c) {} 

     public void afterTextChanged(Editable editable) { 
      if (mToggle) { 
       Toast.makeText(getBaseContext(), "HIT KEY",Toast.LENGTH_LONG).show(); 
      } 
      mToggle = !mToggle; 
     } 

     public void beforeTextChanged(CharSequence cs, int i, int j, int k) {} 
    }); 
+0

はい私のコードは同じですが、キーを押すと「ヒットキー」が2回表示されます –

+0

移動よりToastはafterTextChangedを呼び出します。このメソッドは、ヒットごとに1回のみ呼び出される必要があります。 –

+0

はい、「ヒットキー」が2回表示された場合は、afterTextChanged AS Beikeにトーストを貼り付けてください。 – raman

0

は私の問題は、私は二度そのコールバックを呼び出すことにつながる、二回mEditText.addTextChangedListener(mTextWatcher) textWatcherを追加しました!

私はonCreate()に一度、onStart()に1回textWatcherを追加しました。 onStartを追加し、onStop()で削除する必要があります。

関連する問題