Android - How To Filter The Recyclerview Of Firebase?
I've recently added a searchBar to my Android Firebase app, but I really can't find how to filter data in my app. I need to search in 'title', 'desc' and 'username' childs, as seen
Solution 1:
First, you need to query your database, example
mQuery = mDatabase.orderByChild("Title").equalTo("your value")
then go to your firebaseRecyclerAdapter and replace:
FirebaseRecyclerAdapter<Blog, BlogViewHolder> firebaseRecyclerAdapter = newFirebaseRecyclerAdapter<Blog, BlogViewHolder>(
Blog.class,
R.layout.blog_row,
BlogViewHolder.class,
mDatabase
)
with:
final FirebaseRecyclerAdapter<Blog, BlogViewHolder> firebaseRecyclerAdapter = newFirebaseRecyclerAdapter<Blog, BlogViewHolder>(
Blog.class,
R.layout.blog_row,
BlogViewHolder.class,
mQuery
)
To find out more you can check the documentation here: https://firebase.google.com/docs/reference/android/com/google/firebase/database/Query
and the FirebaseUI documentation: https://github.com/firebase/FirebaseUI-Android
This is what i did:
@OverridepublicbooleanonCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu, menu);
SearchView searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.action_search));
searchView.setOnQueryTextListener(newSearchView.OnQueryTextListener() {
@OverridepublicbooleanonQueryTextSubmit(String query) {
Intent searchIntent = newIntent(MainActivity.this, searchActivity.class);
searchIntent.putExtra("search", query);
startActivity(searchIntent);
returnfalse;
}
@OverridepublicbooleanonQueryTextChange(String newText) {
//??????returntrue;
}
});
returnsuper.onCreateOptionsMenu(menu);
}
and in the search activity:
String search = getIntent().getExtras().getString("search");
mQuerySearch = mDatabase.orderByChild("name").equalTo(search);
FirebaseRecyclerAdapter<Classified, searchActivity.ClassifiedViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Classified, searchActivity.ClassifiedViewHolder>(
Classified.class,
R.layout.classified_row,
searchActivity.ClassifiedViewHolder.class,
mQuerySearch
)
Post a Comment for "Android - How To Filter The Recyclerview Of Firebase?"