好的,我知道这是一个非常奇怪的问题,但这是一个非常奇怪的问题。
我正在做的是一个记笔记应用程序,基本上用户可以创建笔记本,然后在每个笔记本中创建笔记。我遇到的麻烦是删除了这些注释。
活动层次结构:书籍(主要活动)->书籍->注意
基本上,当您删除便笺时(这是通过便笺活动完成的),便笺活动结束,并且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方法,该方法在活动结束时正在保存笔记。哎呀!