2013-06-02 2 views
0

파일 관리자가 sdcard에서 파일을 삭제하려고합니다. "/ sdcard/Soundcast /"경로는 하나 뿐이며 .mp4 및 .3gp 인 파일을 삭제할 수 있기를 원합니다. 여기에 내 코드입니다 : ListActivity 파일 관리자가 파일을 삭제하는 방법은 무엇입니까?

공용 클래스 MainActivity가 확장 {

private List<String> items =null; 

private void deleteFile() 
{ 
    // TODO: Implement this method 
} 

@Override 
public void onCreate(Bundle icicle) 
{ 
    super.onCreate(icicle); 
    setContentView(R.layout.main); 

    getFiles(new File("/sdcard/Soundcast").listFiles()); } 
@Override 
protected void onListItemClick(ListView l, View v, int position, long id) 
{ int selectedRow = (int)id; if (selectedRow == 0) 
    { getFiles(new File("/sdcard/Soundcast").listFiles()); } 
    else 
    { File file = new File(items.get(selectedRow)); if (file.isDirectory()) 
     { getFiles(file.listFiles()); } 
     else 
     { 
      new AlertDialog.Builder(this) .setTitle("Ability to open files will come in future updates.") 
      .setMessage("Do You Want To Delete this recording?") 
      .setPositiveButton("Yes", new DialogInterface.OnClickListener(){ 
       public void onClick(DialogInterface dialog, int button){ 
        deleteFile(); 
       } 
      }) 
      .setNegativeButton("No", new DialogInterface.OnClickListener(){ 
      public void onClick(DialogInterface dialog, int button){ 
       } 
      }).show();} 
      } 
      } 
private void getFiles(File[] files) 
{ items = new ArrayList<String>(); 

    items.add(getString(R.string.goto_root)); for (File file : files) 
    { items.add(file.getPath()); } 

    ArrayAdapter<String> fileList = new ArrayAdapter<String>(this, R.layout.file_list_row, items); 
    setListAdapter(fileList); } } 
+0

다시 질문은 무엇입니까? 너 뭐 해봤 니? 당신의'deleteFile()'메소드를위한 구현 일 뿐인가? – Ridcully

+0

나는 이것을 지금까지 시도했다. 다른 건 없어. – user2433462

답변

0

Waza_Be가 이미 언급했듯이 필요한 것은 file.delete()뿐입니다. deleteFile 메서드를 삭제하고 (긍정 대화 상자 버튼의 onClick 메서드에서) 호출하는 대신 file.delete()를 호출하면 완료됩니다.

public void onClick(DialogInterface dialog, int button) { 
    // deleteFile();  <-- not needed 
    file.delete(); // <-- do this instead 
} 
0

당신은 그 코드, 또는 이와 유사한 사용해야 확장하여

{ File file = new File(items.get(selectedRow)); if (file.isDirectory()) 
    { getFiles(file.listFiles()); } 
    else 
    { 
     new AlertDialog.Builder(this) .setTitle("Ability to open files will come in future updates.") 
     .setMessage("Do You Want To Delete this recording?") 
     .setPositiveButton("Yes", new DialogInterface.OnClickListener(){ 
      public void onClick(DialogInterface dialog, int button){ 
       booolean success = file.delete() 
       //Refresh UI and your list, so the deleted file is no more diplayed 
      } 
     }) 

그리고 필터링

.. 정말 복잡하지 않습니다

문제가있는 곳을 모르겠습니다 ..

+0

확장자가 .mp4 및 .3gp 인 클릭시 파일을 삭제하려고했습니다. 클릭하면 파일을 삭제할지 묻는 대화 상자가 표시됩니다 (예/아니요). 예를 클릭하면 삭제됩니다. – user2433462

+0

2 개의 버튼으로 대화 상자를 만드는 방법을 설명하고 싶습니까? 이미 파일을 삭제하는 방법에 대해 설명했습니다 ... 아무도 지원을 필요로하지 않는 위치에 있습니다. –

관련 문제