2013-03-03 53 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