#java #android #google-cloud-firestore #android-tablayout
#java #Android #firebase #google-облако-firestore #вкладки
Вопрос:
можем ли мы реализовать макет вкладки по щелчку, чтобы при нажатии на любую вкладку он обновлял адаптер firestore recycler новыми данными? Я пробовал это
day_picker.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
switch (tab.getPosition()) {
case 0:
current_day = "secondSunday";
fetch("secondSunday");
break;
case 1:
fetch("secondMonday");
break;
case 2:
fetch("secondTuesday");
break;
case 3:
//TODO
break;
case 4:
//TODO
break;
}
}
});
метод выборки
public void fetch(String CO) {
firebaseFirestore = FirebaseFirestore.getInstance();
Query query = firebaseFirestore
.collection("lecture_table")
.document("second") //change it to computer engineering collection for make it works for other universities
.collection(CO).orderBy("priorty", Query.Direction.ASCENDING);
FirestoreRecyclerOptions<lectures_table> options = new FirestoreRecyclerOptions.Builder<lectures_table>()
.setQuery(query, lectures_table.class)
.build();
lectureAdapter = new FirestoreRecyclerAdapter<lectures_table, MyLectureViewHolder>(options) {
@NonNull
@Override
public MyLectureViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater
.from(parent.getContext()).inflate(R.layout.lecture_table, parent, false);
return new MyLectureViewHolder(view);
}
@Override
protected void onBindViewHolder(@NonNull MyLectureViewHolder holder, int position
, @NonNull lectures_table model) {
holder.lectureName.setText(model.getLecture_name());
holder.time.setText(model.getTime());
holder.class_code.setText(model.getClass_code());
holder.class_code.setOnClickListener(v -> copythis(holder.class_code));
}
};
}
Я хочу, чтобы всякий раз, когда я нажимаю на вкладку, в представлении recycle будут отображаться новые данные
моя база данных выглядит следующим образом
Спасибо.
Комментарии:
1. Привет. не могли бы вы, пожалуйста, немного конкретнее, чего вы хотите? и с какими ошибками вы сталкиваетесь?
2. когда я нажимаю на вкладку, ничего не меняется, я пытался отправить путь к коллекции в функцию, но это не работает. работает только тогда, когда я отправляю путь к коллекции за пределы прослушивателя кликов TabLayout
3. @AppDev. Хотелось бы, чтобы я был более конкретным
4. Пожалуйста, отредактируйте свой вопрос и добавьте свою структуру базы данных в качестве скриншота. Пожалуйста, ответьте с помощью @AlexMamo
5. Я добрался до метода выборки. Чтобы сузить фокус, не могли бы вы добавить комментарии к методу выборки?