У меня есть навигационный ящик с разными категориями.У меня также есть представление переработчика, которое получает сообщение из пожарного магазина (уже сегрегированного по категориям), загружает и отображает их.моя проблема в том, что я хочу, чтобы, когда пользователь нажимает на этот пункт меню, он загружал сообщения из этой категории в firestore и отображал их.Я пытался использовать комплекты, но не понял, как успешно заставить его загрузить
адаптер:
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_categories, container, false);
blog_list = new ArrayList<>();
blog_list_view = view.findViewById(R.id.blog_list_view);
// blogRecyclerAdapter = new BlogRecyclerAdapter(blog_list);
blogRecyclerAdapter = new BlogRecyclerAdapter(getContext(),blog_list);
blog_list_view.setLayoutManager(new LinearLayoutManager(getActivity()));
blog_list_view.setAdapter(blogRecyclerAdapter);
firebaseFirestore = FirebaseFirestore.getInstance();
firebaseFirestore.collection("politics").addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(@javax.annotation.Nullable QuerySnapshot queryDocumentSnapshots, @javax.annotation.Nullable FirebaseFirestoreException e) {
for(DocumentChange doc: queryDocumentSnapshots.getDocumentChanges())
if (doc.getType() == DocumentChange.Type.ADDED) {
BlogPost blogPost = doc.getDocument().toObject(BlogPost.class);
blog_list.add(blogPost);
blogRecyclerAdapter.notifyDataSetChanged();
}
}
});
return view;
}
}
, вы можете увидеть здесь, где говорится, что "политика" - это то, где мне нужнополучить соответствующий пункт меню для загрузки
ящик навигации:
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.nav_home:
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new HomeFragment()).commit();
break;
case R.id.nav_profile:
Intent profileIntent = new Intent(MainActivity.this, user_profile.class);
startActivity(profileIntent);
break;
case R.id.nav_settings:
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new SettingsFragment()).commit();
break;
case R.id.nav_sign_out:
Toast.makeText(this, "SIGNED OUT TEST", Toast.LENGTH_SHORT).show();
FirebaseAuth.getInstance().signOut();
sendToStart();
break;
case R.id.nav_new_post:
Intent postIntent = new Intent(MainActivity.this, NewPost.class);
startActivity(postIntent);
break;
case R.id.nav_politics:
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new CategoriesFragment()).commit();
break;
адаптер работает нормально, я просто не могу понять, как передать данные в адаптер для загрузки определенной категории, на основе чегобыл выбран пункт меню