時,當我設置一個TextWatcher到的EditText像安卓:結合的EditText
editText1.addTextChangedListener(watcher);
其方法 public void onTextChanged(CharSequence s, int start, int count, int after)
和afterTextChanged and beforeTextChanged
火,如果有的EditText文本或不不管TextWatcher.onTextChanged火災。 我會認爲這些方法僅在綁定後發生文本更改後纔會調用。我怎樣才能做到這一點,或者我的邏輯有什麼問題?
感謝
編輯:
我的setText()addTextChangedListener之前。
調用堆棧:
DalvikVM [本地主機:8600]
螺紋[< 1>主](暫停)
的EditText(TextView的).sendOnTextChanged(CharSequence的,INT,INT,INT)線: 7875
的EditText(TextView的).setText(CharSequence中,TextView的$ BufferType,布爾,INT)線:3488
的EditText(TextView的).setText(CharSequence中,TextView的$ BufferType)線:3341
EditText.setText(CharSequence的,TextView的$ BufferTyp e)項:90
的EditText(TextView的).setText(CharSequence的)線:3316 的EditText(TextView的).onRestoreInstanceState(Parcelable)線:3216
的EditText(查看).dispatchRestoreInstanceState(SparseArray)線:10079
..
我的setText()。這有問題嗎? – user1324936
之前?它不應該是......如果你刪除該行,它仍然被稱爲?這只是爲了解決'TextWatcher'的原因。如果你找不到原因,可以在完成UI的設置後設置一個布爾標誌,而最初只是從'TextWatcher'的方法返回時返回false。 也許你正在恢復狀態或'addTextChangedListener'後的東西? –
我只在我的onCreate方法setTxt。如果我不設置它沒有任何反應!我有一個ViewPager。只有當我滾動回到先前加載的頁面時,問題纔會發生。我將TextWatcher設置爲null,然後在片段重新加載時創建一個新的。我檢查了舊的在onCreateView之前被刪除。 – user1324936