从Firebase Firestore提取数据,但未在回收站视图中显示?

时间:2019-02-03 10:25:57

标签: android firebase android-recyclerview google-cloud-firestore firebaseui

在这段代码中,我成功地从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;
    }
}

0 个答案:

没有答案