I want to search data from firebase. whenever a user type anything in the searchview it will search the related data. For example if user input the name of company it should show data related to that company, OR if user input price it should show data related to that specific price. My Recyclerview is working fine. I'm getting data but it only search data according to company name.
Here is My Code
private void getData(String query) {
Query firebaseSearchQuery = myRef.orderByChild("companyName").startAt(query).endAt("\uf8ff");
FirebaseRecyclerOptions<Package> options = new FirebaseRecyclerOptions
.Builder<Package>().setQuery(firebaseSearchQuery, Package.class).build();
final FirebaseRecyclerAdapter<Package, PackagesViewHolder> firebaseRecyclerAdapter =
new FirebaseRecyclerAdapter<Package, PackagesViewHolder>(options) {
@Override
protected void onBindViewHolder(@NonNull PackagesViewHolder packagesViewHolder, int i, @NonNull Package aPackage){
packagesViewHolder.setDetails(getApplicationContext(), packagesViewHolder, i, aPackage.getPackageName()/*, aPackage.getPackageType()*/, aPackage.getCompanyName(), aPackage.getData()
, aPackage.getOnNetMinutes(), aPackage.getOffNetMinutes(), aPackage.getSms()
, aPackage.getPrice(), aPackage.getValidity()
, aPackage.getSubscriptionCode(), aPackage.getUnsubCode()
, aPackage.getRemainingDataCode(), aPackage.getInfo()
/*, aPackage.getTermsAndConditions()*/);
}
@NonNull
@Override
public PackagesViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recycler_layout, parent, false);
PackagesViewHolder packagesViewHolder = new PackagesViewHolder(view, SearchActivity.this);
return packagesViewHolder;
}
};
recyclerView.setAdapter(firebaseRecyclerAdapter);
firebaseRecyclerAdapter.startListening();
}