Я пытаюсь выучить android, и у меня есть этот список покупок, используя базу данных Cloud Firestore. Когда я хочу добавить продукты в базу данных, это работает (я вижу их в Firebase), но когда я хочу отобразить их, они не отображаются ... какие-то идеи, почему? Спасибо!
Это часть функции onCreateView()
в ShoppingListFragment
:
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;
}