我有一個片段EditText
和onCreateView()
裏面我添加TextWatcher
到EditText
。afterTextChanged()回調被調用時沒有實際改變文本
每次片段被第二次添加時afterTextChanged(Editable s)
回調正在被調用,而不會改變文本。
下面的代碼片段:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
...
myEditText = (EditText) v.findViewById(R.id.edit_text);
myEditText.addTextChangedListener(textWatcher);
...
}
TextWatcher textWatcher = new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
searchProgressBar.setVisibility(View.INVISIBLE);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
Log.d(TAG, "after text changed");
}
}
我還設置了片段保留其狀態,我把片段的實例在活動。
*每次片段被第二次添加* - 你能分享一些與此相關的代碼嗎? – Luksprog
切換片段時,這是很常見的事情。 transaction.replace(r.id.container,fragment);transaction.commit(); 沒什麼特別的,我已經解決了添加標誌的問題,我將發佈解決方案。 – meh