
Я не могу отобразить его в представлении переработчика. Можете ли вы помочь с этим?
Тем временем я уже проверил другие сообщения, но не нашел, что делаю неправильно.
Разрешение на Firebase установлено. чтобы
Код: Выделить всё
allow read, write: if true;
Код: Выделить всё
public class MealsFragment extends Fragment {
private FragmentMealsBinding binding;
String collectionPath= "MealsDev";
DummyRecyclerAdapter dummyRecyclerAdapter;
RecyclerView dummyRecyclerView;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
binding = FragmentMealsBinding.inflate(inflater, container, false);
View root = binding.getRoot();
dummyRecyclerView = root.findViewById(R.id.meals_recycler_view);
FirebaseFirestore db = FirebaseFirestore.getInstance();
Query query = db.collection(collectionPath).limit(10);
FirestoreRecyclerOptions options = new FirestoreRecyclerOptions.Builder()
.setQuery(query, DummyMeal.class)
.build();
dummyRecyclerAdapter = new DummyRecyclerAdapter(options);
dummyRecyclerView.setAdapter(dummyRecyclerAdapter);
return root;
}
@Override
public void onDestroy() {
super.onDestroy();
binding = null;
}
@Override
public void onStart() {
super.onStart();
dummyRecyclerAdapter.startListening();
}
@Override
public void onStop() {
super.onStop();
dummyRecyclerAdapter.stopListening();
}
Код: Выделить всё
public class DummyMeal {
String name;
public DummyMeal() {
}
public DummyMeal(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Код: Выделить всё
public class DummyRecyclerAdapter extends FirestoreRecyclerAdapter {
public DummyRecyclerAdapter(@NonNull FirestoreRecyclerOptions options){
super(options);
}
@Override
protected void onBindViewHolder(@NonNull DummyRecyclerAdapter.RecyclerDummyViewHolder holder, int position, @NonNull DummyMeal model) {
String name = model.getName();
holder.name.setText(name);
}
@NonNull
@Override
public DummyRecyclerAdapter.RecyclerDummyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recycler_view_row_current_meal, parent, false);
return new RecyclerDummyViewHolder(view);
}
public class RecyclerDummyViewHolder extends RecyclerView.ViewHolder {
TextView name;
public RecyclerDummyViewHolder(View view) {
super(view);
name = view.findViewById(R.id.text_view_meal_name);
}
}
}
Код: Выделить всё
Код: Выделить всё
Моя цель — отобразить (в данном случае) одну запись в представлении переработчика.
Отладчик не прерывается, если я устанавливаю точки останова в onBindViewHolder и onCreateViewHolder.
Я отлаживал службу еще раз, устанавливая точку останова в MealsFragment после FirestoreRecyclerOptions в инициализированном виде.
Похоже, что размер mSnapshot равен 0. Насколько я понимаю, он должен быть 1. Может быть, в этом проблема? Почему?

Подробнее здесь: https://stackoverflow.com/questions/792 ... ycler-view