Не загружаются данные в RecyclerView
Не загружаются данные в RecyclerView, данные из Cloud Firestore, RecyclerView находиться в Fragment.
Проблема в RecyclerView rv_tasks_the
Попробовал тот же код написать в Activity, там всё работает.
Почему не работает и как это исправить?
Мой фрагмент
public class FragmentTasks extends Fragment {
public static FragmentTasks newInstance() {
return new FragmentTasks();
}
private FirebaseFirestore firebaseFirestore = FirebaseFirestore.getInstance();
private CollectionReference collectionReference = firebaseFirestore.collection("Notebook");
CardView cv_back_tasks;
RecyclerView rv_tasks_p;
private AdapterTasksTest adapterTasksTest;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_tasks, container, false);
}
@Override
public void onViewCreated(@NonNull final View view, @Nullable Bundle savedInstanceState) {
cv_back_tasks = requireView().findViewById(R.id.cv_back_tasks);
cv_back_tasks.setOnClickListener(v -> requireActivity().onBackPressed());
rv_tasks_p = requireView().findViewById(R.id.rv_tasks_p);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext());
rv_tasks_p.setLayoutManager(linearLayoutManager);
rv_tasks_p.setHasFixedSize(true);
RecyclerViewP();
}
private void RecyclerViewP() {
Query query = collectionReference.orderBy("description", Query.Direction.DESCENDING);
FirestoreRecyclerOptions<Note> firestoreRecyclerOptions = new FirestoreRecyclerOptions.Builder<Note>()
.setQuery(query, Note.class)
.build();
adapterTasksTest = new AdapterTasksTest(firestoreRecyclerOptions);
RecyclerView rv_tasks_the = requireView().findViewById(R.id.rv_tasks_the);
rv_tasks_the.setHasFixedSize(true);
rv_tasks_the.setLayoutManager(new LinearLayoutManager(getContext()));
rv_tasks_the.setAdapter(adapterTasksTest);
}
@Override
public void onStart() {
super.onStart();
adapterTasksTest.startListening();
}
@Override
public void onStop() {
super.onStop();
adapterTasksTest.stopListening();
}
}
Мой Adapter
public class AdapterTasksTest extends FirestoreRecyclerAdapter<Note, AdapterTasksTest.HolderTasksTest> {
public AdapterTasksTest(@NonNull FirestoreRecyclerOptions<Note> options) {
super(options);
}
@Override
protected void onBindViewHolder(@NonNull HolderTasksTest holder, int position, @NonNull Note model) {
holder.textViewTitle.setText(model.getTitle());
holder.textViewDescription.setText(model.getDescription());
holder.textViewPriority.setText(String.valueOf(model.getPriority()));
}
@NonNull
@Override
public HolderTasksTest onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_tasks_test, parent, false);
return new HolderTasksTest(view);
}
class HolderTasksTest extends RecyclerView.ViewHolder{
TextView textViewTitle;
TextView textViewDescription;
TextView textViewPriority;
public HolderTasksTest(View itemView) {
super(itemView);
textViewTitle = itemView.findViewById(R.id.text_view_title);
textViewDescription = itemView.findViewById(R.id.text_view_description);
textViewPriority = itemView.findViewById(R.id.text_view_priority);
}
}
}
Ответы (1 шт):
Автор решения: AVRamones
→ Ссылка
А о каком RecyclerView речь? Об этом
RecyclerView rv_tasks_p;
или об этом?
RecyclerView rv_tasks_the
Если о первом, то я не вижу где вы адаптер в него вставляете. Для второго вот вижу:
rv_tasks_the.setAdapter(adapterTasksTest);
а для первого нет