GalleryFragment.java 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package com.noahvogt.miniprojekt.ui.gallery;
  2. import android.os.Bundle;
  3. import android.view.LayoutInflater;
  4. import android.view.View;
  5. import android.view.ViewGroup;
  6. import android.widget.TextView;
  7. import androidx.annotation.NonNull;
  8. import androidx.annotation.Nullable;
  9. import androidx.fragment.app.Fragment;
  10. import androidx.lifecycle.Observer;
  11. import androidx.lifecycle.ViewModelProvider;
  12. import androidx.recyclerview.widget.LinearLayoutManager;
  13. import androidx.recyclerview.widget.RecyclerView;
  14. import com.noahvogt.miniprojekt.MainActivity;
  15. import com.noahvogt.miniprojekt.R;
  16. import com.noahvogt.miniprojekt.ui.home.CustomAdapter;
  17. import com.noahvogt.miniprojekt.ui.slideshow.EmailViewModel;
  18. public class GalleryFragment extends Fragment{
  19. private GalleryViewModel galleryViewModel;
  20. EmailViewModel mEmailViewModel;
  21. RecyclerView recyclerView;
  22. public View onCreateView(@NonNull LayoutInflater inflater,
  23. ViewGroup container, Bundle savedInstanceState) {
  24. // mEmailViewModel.deleteNewMessage();
  25. galleryViewModel =
  26. new ViewModelProvider(this).get(GalleryViewModel.class);
  27. View root = inflater.inflate(R.layout.fragment_gallery, container, false);
  28. final TextView textView = root.findViewById(R.id.text_gallery);
  29. galleryViewModel.getText().observe(getViewLifecycleOwner(), new Observer<String>() {
  30. @Override
  31. public void onChanged(@Nullable String s) {
  32. textView.setText(s);
  33. }
  34. });
  35. recyclerView = MainActivity.recyclerView.findViewById(R.id.recyclerView);
  36. final CustomAdapter adapter = new CustomAdapter(new CustomAdapter.EmailDiff());
  37. /* Attach the adapter to the recyclerview to populate items */
  38. recyclerView.setAdapter(adapter);
  39. recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
  40. mEmailViewModel = new ViewModelProvider(this).get(EmailViewModel.class);
  41. mEmailViewModel.getSentMessage().observe(getViewLifecycleOwner(), messages -> {
  42. /* Update the cached copy of the messages in the adapter*/
  43. adapter.submitList(messages);
  44. });
  45. return root;
  46. }
  47. }