Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在AlertDialog关闭时刷新RecyclerView_Java_Android_Android Recyclerview_Android Alertdialog - Fatal编程技术网

Java 在AlertDialog关闭时刷新RecyclerView

Java 在AlertDialog关闭时刷新RecyclerView,java,android,android-recyclerview,android-alertdialog,Java,Android,Android Recyclerview,Android Alertdialog,我有一个注释列表,有一个对话框打开以添加新注释,当对话框关闭时,它会保存到数据库中,如何在对话框关闭后刷新recyclerview以显示添加的新注释 recyclerView = (RecyclerView)findViewById(R.id.assignment_notes_recyclerview); layoutManager = new LinearLayoutManager(this); recyclerView.setLayoutManager(lay

我有一个注释列表,有一个对话框打开以添加新注释,当对话框关闭时,它会保存到数据库中,如何在对话框关闭后刷新recyclerview以显示添加的新注释

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();
            }
        });

要刷新RecyclerView,请将新元素添加到
ArrayList
中,该列表正由
RecyclerViewAdapter
类使用,在您的情况下,该类就是ArrayList

arrayList.add(<Your item here >);

@用户6548194很高兴它有帮助:)
adapter.notifyDataSetChanged();