首先在build.gradle中为图像视图添加firebase和glide或其他依赖关系所需的依赖关系。 创建树参考如下
mUserDatabase = FirebaseDatabase.getInstance().getReference("YourTreeRootNameHere");
传递字符串在文本字段中有onTextChanged方法如下功能firebaseUserSearch。根据您的代码对以下功能进行必要的更改。
private void firebaseUserSearch(String searchText) {
Query firebaseSearchQuery = mUserDatabase.orderByChild("sName").startAt(searchText).endAt(searchText + "\uf8ff");
FirebaseRecyclerAdapter<Users, SearchActivity.UsersViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Users, SearchActivity.UsersViewHolder>(
Users.class,
R.layout.list_layout,
SearchActivity.UsersViewHolder.class,
firebaseSearchQuery
) {
@Override
protected void populateViewHolder(SearchActivity.UsersViewHolder viewHolder, final Users model, final int position) {
viewHolder.setDetails(getApplicationContext(), model.getName(), model.getPlace(), model.getImage());
}
};
mResultList.setAdapter(firebaseRecyclerAdapter);
}
// View Holder Class
public static class UsersViewHolder extends RecyclerView.ViewHolder {
View mView;
public UsersViewHolder(View itemView) {
super(itemView);
mView = itemView;
}
public void setDetails(Context ctx, String userName, String userStatus, String userImage){
TextView user_name = (TextView) mView.findViewById(R.id.name_text);
TextView user_status = (TextView) mView.findViewById(R.id.status_text);
ImageView user_image = (ImageView) mView.findViewById(R.id.profile_image);
user_name.setText(userName);
user_status.setText(userStatus);
Glide.with(ctx).load(userImage).into(user_image);
}
}
为recyclerView创建布局并定义数据模型类。例如,这个函数使用如下所示的Users.class。
public class Users {
public String name, image, place;
public Users(){
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getPlace() {
return place;
}
public void setPlace(String status) {
this.place = status;
}
public Users(String name, String image, String place) {
this.name = name;
this.image = image;
this.place = place;
}
}