Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 产品在数据库中,但在我的android应用程序中没有显示在片段中_Java_Android_Firebase_Google Cloud Firestore - Fatal编程技术网

Java 产品在数据库中,但在我的android应用程序中没有显示在片段中

Java 产品在数据库中,但在我的android应用程序中没有显示在片段中,java,android,firebase,google-cloud-firestore,Java,Android,Firebase,Google Cloud Firestore,我正在尝试学习android,我有这个购物清单,使用云Firestore数据库。当我想在数据库中添加产品时,它是有效的(我可以在Firebase中看到它们),但是当我想显示它们时,它们不会显示出来。你知道为什么吗?谢谢大家! 这是ShoppingListFragment中的onCreateView()函数的一部分: rootRef = FirebaseFirestore.getInstance(); shoppingListProductsRef = rootRef.collec

我正在尝试学习android,我有这个购物清单,使用云Firestore数据库。当我想在数据库中添加产品时,它是有效的(我可以在Firebase中看到它们),但是当我想显示它们时,它们不会显示出来。你知道为什么吗?谢谢大家!

这是
ShoppingListFragment
中的
onCreateView()
函数的一部分:

    rootRef = FirebaseFirestore.getInstance();
    shoppingListProductsRef = rootRef.collection("products").document(shoppingListId).collection("shoppingListProducts");

    RecyclerView recyclerView = shoppingListViewFragment.findViewById(R.id.recycler_view);
    recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
    TextView emptyView = shoppingListViewFragment.findViewById(R.id.empty_view);
    ProgressBar progressBar = shoppingListViewFragment.findViewById(R.id.progress_bar);

    Query query = shoppingListProductsRef.whereEqualTo("izInShoppingList", izInShoppingList)
            .orderBy("productName", Query.Direction.ASCENDING);

    FirestoreRecyclerOptions<ProductModel> firestoreRecyclerOptions = new FirestoreRecyclerOptions.Builder<ProductModel>()
            .setQuery(query, ProductModel.class)
            .build();

    firestoreRecyclerAdapter =
            new FirestoreRecyclerAdapter<ProductModel, ProductViewHolder>(firestoreRecyclerOptions) {
                @Override
                protected void onBindViewHolder(@NonNull ProductViewHolder holder, int position, @NonNull ProductModel model) {
                    holder.setProduct(getContext(), shoppingListViewFragment, userEmail, userName, shoppingListModel, model);
                }

                @Override
                public ProductViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
                    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_product, parent, false);
                    return new ProductViewHolder(view);
                }

                @Override
                public void onDataChanged() {
                    if (progressBar != null) {
                        progressBar.setVisibility(View.GONE);
                    }

                    if (getItemCount() == 0) {
                        recyclerView.setVisibility(View.GONE);
                        emptyView.setVisibility(View.VISIBLE);
                    } else {
                        recyclerView.setVisibility(View.VISIBLE);
                        emptyView.setVisibility(View.GONE);
                    }
                }

                @Override
                public int getItemCount() {
                    return super.getItemCount();
                }
            };
    recyclerView.setAdapter(firestoreRecyclerAdapter);

    return shoppingListViewFragment;
}
rootRef=FirebaseFirestore.getInstance();
shoppingListProductsRef=rootRef.collection(“产品”).document(shoppingListId.collection(“shoppingListProducts”);
RecyclerView RecyclerView=shoppingListViewFragment.findViewById(R.id.recycler\u视图);
setLayoutManager(新的LinearLayoutManager(getContext());
TextView emptyView=shoppingListViewFragment.findViewById(R.id.empty\u视图);
ProgressBar ProgressBar=shoppingListViewFragment.findViewById(R.id.progress\u bar);
Query Query=shoppingListProductsRef.whereEqualTo(“izInShoppingList”,izInShoppingList)
.orderBy(“productName”,Query.Direction.升序);
FirestoreRecyclerOptions FirestoreRecyclerOptions=新建FirestoreRecyclerOptions.Builder()
.setQuery(查询,ProductModel.class)
.build();
FireStore回收适配器=
新FirestoreRecyclerAdapter(firestoreRecyclerOptions){
@凌驾
受保护的无效onBindViewHolder(@NonNull ProductViewHolder holder,int位置,@NonNull ProductModel模型){
setProduct(getContext(),shoppingListViewFragment,userEmail,userName,shoppingListModel,model);
}
@凌驾
公共产品ViewHolder onCreateViewHolder(视图组父级,int-viewType){
View=LayoutFlater.from(parent.getContext()).flate(R.layout.item_product,parent,false);
返回新的ProductViewHolder(视图);
}
@凌驾
公共无效onDataChanged(){
if(progressBar!=null){
progressBar.setVisibility(View.GONE);
}
如果(getItemCount()==0){
recyclerView.setVisibility(View.GONE);
emptyView.setVisibility(View.VISIBLE);
}否则{
recyclerView.setVisibility(View.VISIBLE);
emptyView.setVisibility(View.GONE);
}
}
@凌驾
public int getItemCount(){
返回super.getItemCount();
}
};
recyclerView.setAdapter(firestoreRecyclerAdapter);
返回shoppingListViewFragment;
}

可能有多个原因,通过设置开始:
recyclerView.setHasFixedSize(false)
您的参考资料中的
shoppingListId
值是多少?请编辑您的问题并将您的数据库结构添加为屏幕截图。还请回复@AlexMamoThank you@Yupi,我添加了它并成功:)@AlexMamo我添加了recyclerView.setHasFixedSize(false);它现在可以工作了,但我在尝试将产品从“购物清单”移动到“产品清单”时遇到了另一个问题。我将添加一个不同的question@Andra很高兴听到这个消息;)是的,应该问另一个问题。可能有多个原因,从设置开始:
recyclerView.setHasFixedSize(false)
您的参考资料中的
shoppingListId
值是多少?请编辑您的问题并将您的数据库结构添加为屏幕截图。还请回复@AlexMamoThank you@Yupi,我添加了它并成功:)@AlexMamo我添加了recyclerView.setHasFixedSize(false);它现在可以工作了,但我在尝试将产品从“购物清单”移动到“产品清单”时遇到了另一个问题。我将添加一个不同的question@Andra很高兴听到这个消息;)是的,我应该问另一个问题。