Fragment replace
public View onCreateView(@NotNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
initSearchView()
}
内调用了一次
private void initSearchView() {
binding.searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
LogUtils.zzz("");
}
});
closeSearchInput();
}
因为是走的replace
所以Fragment 每次都创建,不知道怎么导致 SearchView 回调空数据
需要把 initSearchView()
方法调用改到
@Override
public void onResume() {
super.onResume();
initSearchView();
}
内即可
如果使用的是EditText.addTextChangedListener
记得removeTextChangedListener
,onResume
会被调用多次