如何从FirestoreRecyclerAdapter获取文档ID?无需手动查询Firestore
使用FirestoreRecyclerAdapter替代手动查询Firestore文档ID
我清楚手动查询Firestore来获取文档ID是完全可行的,但我更倾向于使用FirestoreRecyclerAdapter——它自带了大量开箱即用的功能,比如自动数据监听、列表项的增删改自动同步等,能大幅减少重复开发的工作量,效率高很多。
以下是我的具体实现代码示例:
FirebaseFirestore db = FirebaseFirestore.getInstance(); Query query = db.collection(COLLECTION_NAME) .whereEqualTo("userId", USER_ID) .limit(LIMIT); FirestoreRecyclerOptions options = new FirestoreRecyclerOptions .Builder<SomeEntity>() .setQuery(query, SomeEntity.class) .build(); FirestoreRecyclerAdapter adapter = new FirestoreRecyclerAdapter<SomeEntity, SomeViewHolder>(options) { @Override protected void onBindViewHolder(@NonNull SomeViewHolder holder, int position, @NonNull SomeEntity model) { // 在这里完成数据到视图的绑定逻辑 holder.bindData(model); } @NonNull @Override public SomeViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { // 创建并返回自定义的RecyclerView视图持有者 View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.your_item_layout, parent, false); return new SomeViewHolder(itemView); } };
补充说明:上面代码里的
SomeEntity是对应Firestore集合的实体类,SomeViewHolder是自定义的RecyclerView视图持有者,你需要根据自己的UI需求来实现这两个类的具体逻辑。
内容的提问来源于stack exchange,提问作者Davor
相关产品推荐
相关产品推荐

