Firestore查询未将所有项目检索到firestore RecyclerView

问题描述 投票:0回答:1

目前,我仅从Cloud Firestore检索最大项目数-1,这意味着如果只有3个项目,它将仅检索2。请问我从集合().document()。collection中检索项目时我做错了吗? ()?

这是我的章节片段,其中以XML保存RecyclerView

public class ChapterFragment extends Fragment {
    FirebaseFirestore db;
    private RecyclerView recyclerView;
    private View view;
    private Query mQuery;
    private FirestoreRecyclerAdapter adapter;
    private String documentId;

    public ChapterFragment() {

    }

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        db = FirebaseFirestore.getInstance();
        view = inflater.inflate(R.layout.fragment_chapter, container, false);
        recyclerView = view.findViewById(R.id.chapter);
        //Query
            mQuery = db.collection("Book").document("1").collection("1").orderBy("Volume", Query.Direction.DESCENDING);
        //Options
            FirestoreRecyclerOptions<ChapterDetails> options = new FirestoreRecyclerOptions.Builder<ChapterDetails>()
                    .setQuery(mQuery,ChapterDetails.class)
                    .setLifecycleOwner(this)
                    .build();

        //ViewHolder
        adapter = new FirestoreRecyclerAdapter<ChapterDetails, ChapterDetailsViewHolder>(options) {
            @NonNull
            @Override
            public ChapterDetailsViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
                View view2 = LayoutInflater.from(parent.getContext()).inflate(R.layout.chapter_list, parent , false);
                return new ChapterDetailsViewHolder(view2);
            }

            @Override
            protected void onBindViewHolder(@NonNull ChapterDetailsViewHolder holder, int position, @NonNull ChapterDetails model) {
                holder.volume.setText("volume " + model.getVolume());
                holder.PDF.setText(model.getPDF());
            }
        };

        recyclerView.setHasFixedSize(true);
        recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
        recyclerView.setAdapter(adapter);
        return view;
    }

    private class ChapterDetailsViewHolder extends RecyclerView.ViewHolder{

        private TextView volume;
        private TextView PDF;

        public ChapterDetailsViewHolder(@NonNull View itemView) {
            super(itemView);

            volume = itemView.findViewById(R.id.volume_number);
            PDF = itemView.findViewById(R.id.pdf_text);
        }
    }
}

这是我的消防站的照片:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9DMVU1My5wbmcifQ==” alt =“这是我的Firestore的图片”>

这是我的ChapterDetails

public class ChapterDetails {
    private String Volume,PDF;
    public ChapterDetails(){
        //empty
    }
    public ChapterDetails(String volume, String pdf) {
        Volume = volume;
        PDF = pdf;
    }

    public String getVolume() {
        return Volume;
    }

    public void setVolume(String volume) {
        Volume = volume;
    }

    public String getPDF() {
        return PDF;
    }

    public void setPDF(String PDF) {
        this.PDF = PDF;
    }


}

This is how it looks in the android emulator

java android firebase google-cloud-firestore firebaseui
1个回答
1
投票

[Firebase在将属性从Java类映射到Firestore数据库中的字段时使用Java Bean样式命名约定。

© www.soinside.com 2019 - 2024. All rights reserved.