I've been searching about autocomplete textview but I can't seem figure out how can i implement it in firebase recycler adapter ? I saw this thread: How can I load an AutoCompleteTextView from a list of Firebase data?
But I don't know how I can implement it in my program .
Here's my portion of my code ,
private void firebaseUserSearch(String searchText) {
String spinnerSearchs=spinnerSearch.getSelectedItem().toString();
Toast.makeText(getActivity(), "Started Search", Toast.LENGTH_LONG).show();
if(spinnerSearchs.equals("Book Title")){
Query firebaseQuerySearch = mBookDatabase.orderByChild("bookTitle").startAt(searchText).endAt(searchText + "\uf8ff");
FirebaseRecyclerOptions bookOptions= new FirebaseRecyclerOptions.Builder<Book>().setQuery(firebaseQuerySearch,Book.class).build();
mBook = new FirebaseRecyclerAdapter<Book, UsersViewHolder>(bookOptions) {
@Override
protected void onBindViewHolder(final UsersViewHolder holder, final int position,final Book model) {
holder.setDetails(model.getBookId(),model.getBookTitle(),model.getAuthorName());
holder.setItemClickListener(new ItemClickListener() {
@Override
public void OnClick(View view, int position, boolean isLongClick) {
Intent intent = new Intent(getActivity().getBaseContext(),Borrow.class);
intent.putExtra(BOOK_ID,model.getBookId());
getActivity().startActivity(intent);
}
});
holder.setIsRecyclable(false);
}
@Override
public UsersViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.book_layout,parent,false);
return new UsersViewHolder(view,bookList);
}
};
mSearchList.setAdapter(mBook);
} else if(spinnerSearchs.equals("Author")){
Query firebaseQuerySearch = mBookDatabase.orderByChild("authorName").startAt(searchText).endAt(searchText + "\uf8ff");
FirebaseRecyclerOptions bookOptions= new FirebaseRecyclerOptions.Builder<Book>().setQuery(firebaseQuerySearch,Book.class).build();
mBook = new FirebaseRecyclerAdapter<Book, UsersViewHolder>(bookOptions) {
@Override
protected void onBindViewHolder(final UsersViewHolder holder, final int position,final Book model) {
holder.setDetails(model.getBookId(),model.getBookTitle(),model.getAuthorName());
holder.setItemClickListener(new ItemClickListener() {
@Override
public void OnClick(View view, int position, boolean isLongClick) {
Intent intent = new Intent(getActivity().getBaseContext(),Borrow.class);
intent.putExtra(BOOK_ID,model.getBookId());
getActivity().startActivity(intent);
}
});
holder.setIsRecyclable(false);
}
@Override
public UsersViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.book_layout,parent,false);
return new UsersViewHolder(view,bookList);
}
};
mSearchList.setAdapter(mBook);
}
mBook.startListening();
}