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

Вы никогда, кажется, использовать адаптер дополнительно (например, получение/добавление к нему). Я не думаю, что можно что-то обновить. –

+1

Спасибо :) Я вызываю fill(), чтобы заполнить список в onCreate(), но забыл называть его снова в saveAs() Я чувствую себя глупо. – RapsFan1981

+0

Пожалуйста, добавьте ответ и отметьте его как решенный, он может помочь другим .. –

ответ

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

+0

Так же, как в вопросе - используйте кнопку, которая делает это автоматически или добавьте 4 пробела перед каждой строкой кода. Я пошел вперед и сделал это для вас, хотя :) – thegrinner

Смежные вопросы