2016-08-28 17 views
0

EditText文字列が変更されるたびにonTextChangedが呼び出されます。setText on editText TextWatcher.onTextChangedが呼び出されない

新しいActivityを開始し、Bundleでデータを送信すると、onTextChangedは呼び出されません。

if(getIntent().getExtras() != null) { 
    Bundle b = getIntent().getExtras(); 
    int value = -1; 

    if(b != null) 
     value = b.getInt("key"); 
    edit1.setText("Mywords:"); 
} 

どうすればいいですか?

答えて

1

ここにコードの変更版があります。あなたがそれにTextWatcherを追加した後に、テキストをEditTextに設定することです。

if(getIntent().getExtras() != null) { 
    Bundle b = getIntent().getExtras(); 
    int value = -1; 

    if(b != null) 
     value = b.getInt("key"); 

    // Add the TextWatcher here 
    edit1.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void beforeTextChanged(CharSequence s, int start, int count, int after) { 
      // Toast.makeText(MainActivity.this, "before text changed", Toast.LENGTH_LONG).show(); 
     } 

     @Override 
     public void onTextChanged(CharSequence s, int start, int before, int count) { 
      // Toast.makeText(MainActivity.this, "on text changed", Toast.LENGTH_LONG).show(); 
     } 

     @Override 
     public void afterTextChanged(Editable s) { 
      // Toast.makeText(MainActivity.this, "after text changed", Toast.LENGTH_LONG).show(); 
     } 
    }); 

    // Now the set the value in your EditText 
    edit1.setText("Mywords:"); 
} 
+0

ありがとう – phpdroid

0

次のことを試してみてください。

edit1.addTextChangedListener(new TextWatcher() { 

     public void afterTextChanged(Editable s) {} 

     public void beforeTextChanged(CharSequence s, int start, 
             int count, int after) { 
     } 

     public void onTextChanged(CharSequence s, int start, 
            int before, int count) { 
     } 
    }); 

参考:android on Text Change Listener

+0

すでに同じ方法で使用しています。setTextを使用してテキストを変更するたびに、毎回内部クラスを作成する必要がありますか? – phpdroid

+0

いいえ、毎回内部クラスを作成する必要はありません。コードを教えてください。 –

2

setTextが呼ばれる前に、あなたがTextWatcherに加入していることを確認してください。

+0

TextWatcherクラスの実装を意味しますか? – phpdroid

+1

'edit1.addTextChangedListener'の呼び出しは、' edit1.setText'の前でなければなりません。 – j2ko

関連する問題