2013-03-03 51 views
0

我有一個文件列表,當用戶保存文件時,我想刷新列表,以便新文件顯示出來。這是我試過的。爲什麼我的列表不清爽?

private IconifiedTextListAdapter itla = new IconifiedTextListAdapter(this); 

...

private void saveAs(){ 
       AlertDialog.Builder alert = new AlertDialog.Builder(this); 

       alert.setTitle("Save as"); 
       alert.setMessage("(Will be saved in the current working directory)"); 

       // Set an EditText view to get user input 
       final EditText input = new EditText(this); 
       alert.setView(input); 

       alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int whichButton) { 
        String value = input.getText().toString(); 
        String tmpText = et.getText().toString(); 

        try { 
        File tempfile = new File(currentDirectory, value); 
        FileWriter writer = new FileWriter(tempfile); 
         writer.write(tmpText); 
         writer.flush(); 
         writer.close(); 
         changed=false; 
         itla.notifyDataSetChanged(); 
       } catch (IOException e) { 
        // TODO Auto-generated catch block 
       e.printStackTrace(); 
       } 
        } 
       }); 
+0

你似乎從來沒有進一步使用該適配器(如獲取/添加到它)。我認爲沒有什麼需要更新。 – 2013-03-03 18:36:17

+1

謝謝:)我調用fill()來填充onCreate()中的列表,但忘了在saveAs()中再次調用它我覺得很蠢。 – RapsFan1981 2013-03-03 18:40:55

+0

請添加答案並將其標記爲已解決,它可以幫助他人。 – 2013-06-25 13:15:09

回答

0
private void saveAs(final Intent intent) { 
    AlertDialog.Builder alert = new AlertDialog.Builder(this); 

    alert.setTitle("Save as"); 
    alert.setMessage("(Will be saved in the current working directory)"); 

    // Set an EditText view to get user input 
    final EditText input = new EditText(this); 
    input.setText(ending); 
    alert.setView(input); 

    alert.setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int whichButton) { 
      String value = input.getText().toString(); 
      String tmpText = et.getText().toString(); 
      if (!value.contains(".")) { 
       value = value + ending; 
      } 

      try { 
       File tempfile = new File(currentDirectory, value); 
       FileWriter writer = new FileWriter(tempfile); 
       writer.write(tmpText); 
       writer.flush(); 
       writer.close(); 
       changed = false; 
       exists = true; 
       String newFile = new File(currentDirectory + "//" + value) 
         .getPath(); 
       currentFile = new File(newFile); 
       fill(currentDirectory.listFiles()); 
       Log.i("saveAs", currentFile.getPath()); 
       return; 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 
    }); 
+0

不知道如何在答案中執行代碼格式。 – RapsFan1981 2013-06-26 15:24:54

+0

與問題中的方式相同 - 使用自動執行該操作的按鈕或在每行代碼前添加4個空格。我繼續爲你做,雖然:) – thegrinner 2013-06-26 15:38:28