【问题标题】:Update Data Of RecyclerView Of Fragment Inside ViewPager Of Activity From DialogFragment从 DialogFragment 更新 Activity 的 ViewPager 中 Fragment 的 RecyclerView 的数据
【发布时间】:2018-05-01 08:07:00
【问题描述】:

我在fragment 中有一个recyclerview,该片段位于视图寻呼机内,而视图寻呼机显然处于活动状态。我有DialogFragment 和一些编辑文本,我在SQLite 中添加数据。 Dialogfragment由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 的数据?

【问题讨论】:

    标签: java android sqlite android-recyclerview


    【解决方案1】:

    您可以使用界面EventBus

    更新数据

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-13
      • 2018-06-06
      • 1970-01-01
      • 1970-01-01
      • 2018-06-23
      • 1970-01-01
      • 2013-07-15
      相关资源
      最近更新 更多