Обновить данные RecyclerView фрагмента внутри ViewPager активности из DialogFragment - PullRequest
0 голосов
/ 01 мая 2018

У меня есть recyclerview внутри fragment. Фрагмент находится внутри пейджера просмотра, и пейджер просмотра явно работает. У меня есть DialogFragment с некоторым текстом редактирования, откуда я добавляю данные в SQLite. Диалогфрагмент открывается с помощью FAB во внутренней деятельности после добавления данных в SQLite. Как я могу обновить данные в программе recyclerview.

(Фрагмент диалога) AddNotesFragment.java

 toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
        public boolean onMenuItemClick(MenuItem item) {
            switch (item.getItemId()) {
                case R.id.save_note: {
                    if (checkForInput(mNoteEditText.getText().toString(),mNoteTitleEditText.getText().toString())) {
                        Note note = new Note(0,mNoteTitleEditText.getText().toString(),mNoteEditText.getText().toString(),null);
                         createNote(note);
                         mListener.onComplete(note);
                         dismiss();
                    }
                }
                break;
            }
            return true;
        }
    });



 private long createNote(Note note) {
    // inserting note in db and getting
    // newly inserted note id
    SQLiteHelper db = new SQLiteHelper(getContext());
    return db.insertNote(note);
}

(фрагмент с RecylerView) NotesFragment.java

   db = new SQLiteHelper(getContext());
    notesList.addAll(db.getAllNotes());

    mAdapter = new NotesAdapter(getContext(), notesList,getActivity(),getActivity().getSupportFragmentManager());
    RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getContext());
    recyclerView.setLayoutManager(mLayoutManager);
    recyclerView.setItemAnimator(new DefaultItemAnimator());
    recyclerView.addItemDecoration(new MyDividerItemDecoration(getContext(), LinearLayoutManager.VERTICAL, 16));
    recyclerView.setAdapter(mAdapter);

(активность с ViewPager) MainActivity.java

   mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
    final AddNotesFragment  addNotesFragment = new AddNotesFragment();
    // Set up the ViewPager with the sections adapter.
    mViewPager = (ViewPager) findViewById(R.id.container);
    mViewPager.setAdapter(mSectionsPagerAdapter);

    TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
    final SQLiteHelper sqLiteHelper = new SQLiteHelper(CenterActivity.this);

    mViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
    tabLayout.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(mViewPager));

Как я могу обновить данные RecyclerView?

1 Ответ

0 голосов
/ 01 мая 2018

Вы можете обновить данные, используя Интерфейс или EventBus

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...