[英]refresh RecyclerView on AlertDialog close
I have a list of notes, there is a dialog thats opened to add a new note, and when the dialog is closed, it is saved to the database, how do i get the recyclerview to refresh once the dialog has been closed to show the new note added. 我有一个注释列表,有一个对话框打开以添加新注释,当对话框关闭时,它会保存到数据库中,如何在对话框关闭后刷新recyclelerview以显示新笔记补充说。
recyclerView = (RecyclerView)findViewById(R.id.assignment_notes_recyclerview);
layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
recyclerView.setHasFixedSize(true);
UserDbHelper userDbHelper = new UserDbHelper(this);
SQLiteDatabase sqLiteDatabase = userDbHelper.getReadableDatabase();
Cursor cursor = userDbHelper.getAssignmentNotes( selected, sqLiteDatabase);
cursor.moveToFirst();
do {
NoteDataProvider noteDataProvider = new NoteDataProvider(cursor.getString(0), cursor.getString(2), cursor.getString(3));
arrayList.add(noteDataProvider);
}while(cursor.moveToNext());
userDbHelper.close();
adapter = new NoteDataAdapter(arrayList);
recyclerView.setAdapter(adapter);
assignmentAddNote.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(context);
LayoutInflater inflater = getLayoutInflater();
final View dialogView = inflater.inflate(R.layout.layout_assignment_note_dialog, null);
dialogBuilder.setView(dialogView);
final EditText note = (EditText) dialogView.findViewById(R.id.edit1);
dialogBuilder.setTitle("Assignment Notes");
dialogBuilder.setMessage("Enter te note below");
dialogBuilder.setPositiveButton("Save", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//save button has been pressed
String done = "No";
String content = note.getText().toString();
userDbHelper1 = new UserDbHelper(context);
sqLiteDatabase1 = userDbHelper1.getReadableDatabase();
userDbHelper1.addAssignmentNote(selected, content, done, sqLiteDatabase1);
}
});
dialogBuilder.setNegativeButton("Discard", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//pass
}
});
AlertDialog b = dialogBuilder.create();
b.show();
}
});
To Refresh RecyclerView , Add the new element to the ArrayList
which is Being used by the RecyclerViewAdapter
class, which in your case is arrayList . 要刷新RecyclerView ,将新元素添加到RecyclerViewAdapter
类正在使用的ArrayList
,在您的情况下是ArrayList 。
arrayList.add(<Your item here >);
Then refresh with, 然后刷新,
adapter.notifyDataSetChanged();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.