在这段代码中,我成功地从Firebase Firestore获取了数据,但是它没有显示在recyclerview中,也没有给我任何错误。在此代码中,我只希望仅显示描述和图像,因此请提供帮助。 谢谢。
这是ViewpostActivity.java文件,我要在其中显示回收站视图
public class ViewpostActivity extends AppCompatActivity {
private RecyclerView RecyclerViewPost;
FirestoreRecyclerAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_viewpost);
RecyclerViewPost = findViewById(R.id.RecyclerViewPost);
RecyclerViewPost.setHasFixedSize(true);
//adapter.startListening();
// RecyclerViewPost.setLayoutManager(new GridLayoutManager(getApplicationContext(), 2));
RecyclerViewPost.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
//RecyclerViewPost.setAdapter(adapter);
}
@Override
protected void onStart() {
super.onStart();
// query here
Query query = FirebaseFirestore.getInstance()
.collection("Posts");
FirestoreRecyclerOptions<BlogPost> option = new FirestoreRecyclerOptions.Builder<BlogPost>()
.setQuery(query, BlogPost.class)
.build();
adapter = new FirestoreRecyclerAdapter<BlogPost, BlogPostHolder>(option){
@NonNull
@Override
public BlogPostHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.blog_list_item, parent, false);
return new BlogPostHolder(view);
}
@Override
protected void onBindViewHolder(@NonNull BlogPostHolder blogPostHolder, int i, @NonNull BlogPost blogPost) {
blogPostHolder.blogDescription.setText(blogPost.getDesc());
Glide.with(getApplicationContext()).load(blogPost.getImage_url()).into(blogPostHolder.blogImage);
Log.i("ViewPostActivityLOG", blogPost.getDesc());
}
};
RecyclerViewPost.setAdapter(adapter);
adapter.startListening();
}
@Override
protected void onStop() {
super.onStop();
adapter.stopListening();
}
}
这是Holder文件BlogPostHolder.java
public class BlogPostHolder extends RecyclerView.ViewHolder {
public ImageView blogImage;
public TextView blogDescription;
public BlogPostHolder(@NonNull View itemView) {
super(itemView);
blogImage = itemView.findViewById(R.id.blog_image);
blogDescription = itemView.findViewById(R.id.blog_desc);
}
}
这是模型文件BlogPost.java
public class BlogPost {
public String user_id,image_url,desc;
public Date timestamp;
public BlogPost() {}
public BlogPost(String user_id, String image_url, String desc, Date timestamp) {
this.user_id = user_id;
this.image_url = image_url;
this.desc = desc;
this.timestamp = timestamp;
}
public String getUser_id() {
return user_id;
}
public void setUser_id(String user_id) {
this.user_id = user_id;
}
public String getImage_url() {
return image_url;
}
public void setImage_url(String image_url) {
this.image_url = image_url;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public Date getTimestamp() {
return timestamp;
}
public void setTimestamp(Date timestamp) {
this.timestamp = timestamp;
}
}