Проблема с отображением объектов в FirebaseRecylerAdapter
Я хочу сделать живой поиск по пользователям используя FirebaseRecylerAdapter и SearchView. Все работает нормально но элементы отображаются только после того как скрываешь клавиатуру или нажимаешь на кнопку Submit.
OnCreate метод
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
search = view.findViewById(R.id.search);
names = view.findViewById(R.id.users);
names.setLayoutManager(new LinearLayoutManager(getActivity()));
names.setHasFixedSize(true);
names.setNestedScrollingEnabled(false);
firebaseUiSearch("");
search.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
firebaseUiSearch(newText);
return false;
}
});
}
сам firebaseUiSearch()
private void firebaseUiSearch(String text) {
Query query = userRef.orderByChild("name").startAt(text).endAt(text + "\uf8ff");
FirebaseRecyclerOptions<UserList> options = new FirebaseRecyclerOptions.Builder<UserList>()
.setQuery(query,UserList.class)
.build();
FirebaseRecyclerAdapter<UserList,UserViewHolder> adapter = new FirebaseRecyclerAdapter<UserList, UserViewHolder>(options) {
@Override
protected void onBindViewHolder(@NonNull UserViewHolder userViewHolder, int i, @NonNull UserList userList) {
userViewHolder.SetDetails(userList.getName(),userList.getAvatar());
}
@NonNull
@Override
public UserViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.users_list, parent, false);
return new UserViewHolder(v);
}
};
adapter.startListening();
names.setAdapter(adapter);
adapter.notifyDataSetChanged();
}