【发布时间】: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