Reputation: 1
i Have a firebase database as shown in image
Then i tried to search/query data based on username child using recyclerview
text_to_search=textsearch.getText().toString();
userprofilref = FirebaseDatabase.getInstance().getReference().child("Users");
FirebaseRecyclerOptions<UserFileData> options =
new FirebaseRecyclerOptions.Builder<UserFileData>()
.setQuery(userprofilref.orderByChild("username").equalTo("Aldinsan"),UserFileData.class)
.build();
FirebaseRecyclerAdapter<UserFileData,UserViewHolder> adapter =
new FirebaseRecyclerAdapter<UserFileData, UserViewHolder>(options) {
@Override
protected void onBindViewHolder(@NonNull UserViewHolder userViewHolder, int position, @NonNull UserFileData users) {
userViewHolder.txt_view_username.setText(users.getUsername());
userViewHolder.txt_view_userid.setText((users.getUserUid()).substring(2,7));
userViewHolder.btn_view_status.setText("Add");
}
@NonNull
@Override
public UserViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_user_view, parent, false);
UserViewHolder userViewHolder = new UserViewHolder(view);
return userViewHolder;
}
} ;
list_search_result.setAdapter(adapter);
adapter.startListening();
Already created layout, viewholder and Userfiledata class.. but the query won't work.. this code previously work on my other project.. and i can't find out what is wrong or missing..
Upvotes: 0
Views: 33
Reputation: 121
Instead of this
.setQuery(userprofilref.orderByChild("username").equalTo("Aldinsan"),UserFileData.class)
.build();
change to
.setQuery(userprofilref.orderByChild("username").equalTo(text_to_search),UserFileData.class).build();
Upvotes: 1