2015-12-31 63 views
2

好的,我知道這是一個很奇怪的問題,但這是一個非常奇怪的問題。Android Java File.delete()刪除文件,然後刪除文件

我正在做的是一個筆記記錄應用程序,基本上用戶可以創建筆記本,然後在每個筆記本中記錄。我遇到的問題是刪除說明。

活動層次:圖書(主要活動) - >圖書 - >注意

基本上當你刪除一個音符(這是從注做過的事情),則說明活動完成後,和書調用一個的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(); 

我真的難倒就這一個,任何幫助,將不勝感激。

編輯:

它不會讓我選擇我自己的答案是解決了,但我想它了。下面的細節。

+0

這與實際問題略有無關,但您使用的是Android版本?他們是否認真地改變了曾經被稱爲「烤麪包片」的東西或者是其他的東西? – Arc676

+0

@ Arc676 Android 4.0。我不知道Toast是什麼,但Snackbar在屏幕的最底部是一種彈出式的東西。 – ThatJavaScriptGuy

+0

吐司是完全一樣的東西。重命名這樣一個基本的類...這必須帶來兼容性問題。 – Arc676

回答

1

哇,我是DUMB!大聲笑

發生了什麼事情是,我有一個保存方法在onStop()是保存筆記就像活動結束。哎呦!