好的,我知道这是一个非常奇怪的问题,但这是一个非常奇怪的问题。

我正在做的是一个记笔记应用程序,基本上用户可以创建笔记本,然后在每个笔记本中创建笔记。我遇到的麻烦是删除了这些注释。

活动层次结构:书籍(主要活动)->书籍->注意

基本上,当您删除便笺时(这是通过便笺活动完成的),便笺活动结束,并且Book调用了一个通过笔记本文件夹查看的onResume(),并将所有便笺重新加载到ListView中。奇怪的是,当“记事”活动结束时,您在“图书”活动中看不到该记事。但是,如果您重新加载它(转到“书籍”,然后再返回),或执行任何操作以调用刷新方法,则笔记将再次包含所有数据。

这是我用来删除笔记的代码:

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("Are You Sure?");
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        File note = new File(Path);

        if(note.delete()) {
            finish();
        } else {
            Snackbar.make(edt_note, "An Error Occurred", Snackbar.LENGTH_LONG).setAction("Action", null).show();
        }
    }
});
builder.setNegativeButton("Cancel", null).create();

builder.show();


note.delete()在运行时返回true。

附带说明,我有权删除这些本地文件夹。删除笔记本的代码就像一个超级按钮一样运行:

final AppCompatActivity This = this;

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("Are You Sure?");
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        File folder = new File(getFilesDir().getPath() + File.separator + Name);
        File[] notes = folder.listFiles();

        for(File note : notes) {
            note.delete();
        }

        if(folder.delete()) {
            finish();
        } else {
            Snackbar.make((ListView) This.findViewById(R.id.list_notes), "An Error Occurred", Snackbar.LENGTH_LONG).setAction("Action", null).show();
        }
    }
});
builder.setNegativeButton("Cancel", null).create();

builder.show();


我真的很为难,任何帮助将不胜感激。

编辑:

它不会让我选择自己的答案作为答案,但我知道了。详细信息在下面。

最佳答案

哇,我笨!大声笑

发生的是,我在onStop()中有一个save方法,该方法在活动结束时正在保存笔记。哎呀!

10-07 19:37
查看更多