我有一个recyclerview,我想在回收者视图中显示帖子。我的问题是我只想在数据库中仅显示popularlist =“ true”的帖子...有些照片我不想显示
请查看数据库结构..over这里,默认情况下,所有照片默认为popularlist =“ false”,我希望回收者视图检查是否需要在回收者视图中显示popularlist =“ true”,如果它的false不应该显示照片....任何人都可以告诉我该怎么做...

      @Override
public int getItemViewType ( int position ) {
    int viewType;
    if (moviesList.get(position).getType_post().contains("Photo") ) {

            viewType = IMAGE_TYPE;
    } else if(moviesList.get(position).getType_post().contains("Video")){
        viewType = VIDEO_TYPE;
    }
    return viewType;
}


我用这段代码检查照片或视频...我不知道过滤

我尝试过的
我在下面创建了一个接口作为listviewmodel

    interface ListViewModel {
    int VIEW_TYPE_PHOTO = 1;
    int VIEW_TYPE_VIDEO = 2;
    int getViewType();

   }


并创建了两个模型类,分别称为photoviewmodel和videoviewmodel,它们扩展了listviewmodel

   class PhotoViewModel implements ListViewModel{

String image_path;

public PhotoViewModel(String image_path) {
    this.image_path = image_path;
}
@Override
public int getViewType() {
    return VIEW_TYPE_VIDEO;
}
}


在获取照片的片段中,我在回收者视图所在的位置添加了此代码

       List<ListViewModel> listViewModels = new ArrayList<>();
                for (Photo photo : photos) {
                    if(photo.getPopularlist().contains("true")){
                        if(photo.getType_post().equals("Photo")){
                            List<PhotoViewModel> pho = new ArrayList<>();
                            PhotoViewModel p = new PhotoViewModel();
                            p.setImagePath(photo.getImage_path());
                            pho.add(p);

                            listViewModels.add(new PhotoViewModel(photo.getImage_path(),photo.getDescription(),photo.getDate_created()));
                           // Log.d(TAG, "onDataChange: alphs"+photoViewModel1.getImagePath());

                        }
                        if(photo.getType_post().equals("Video")){
                            listViewModels.add(new VideoViewModel(photo.getImage_path()));
                        }
                    }
                }


它显示身体,但我没有得到图像路径和我在此处添加的片段中的其他内容

最佳答案

您需要添加一个查询:

DatabaseReference ref=FirebaseDatabase.getInstance().getReference();
Query query=ref.orderByChild("popularlist").equalTo(true);


然后,您将能够检索仅具有popularlist=true的数据

https://firebase.google.com/docs/reference/android/com/google/firebase/database/Query

10-08 15:08