“Rotating wheel” progress dialog while deleting folder from SD card

后端 未结 3 1651
予麋鹿
予麋鹿 2020-12-21 11:27

I want to display simple progress dialog with rotating wheel, while deleting folder from SD card. I have a following piece of code:

  ProgressDialog dialog =         


        
3条回答
  •  长情又很酷
    2020-12-21 11:40

    private void deleteCache() {
      ProgressDialog dialog = ProgressDialog.show(this, "",
        "Please wait for few seconds...", true);
    
      Runnable myRun = new Runnable() {
        public void run() {
          File f = new File(Environment.getExternalStorageDirectory()
            .getAbsoluteFile() + Constants.DATA_DIR);
          deleteDirectory(f);
    
          runOnUiThread(new Runnable() {
            @Override
            public void run() {
              dialog.dismiss();
            }
          });
        }
      }
    }
    
    private void deleteDirectory(File path) {
      if (path.exists()) {
        File[] files = path.listFiles();
        for (int i = 0; i < files.length; i++) {
          if (files[i].isDirectory()) {
            deleteDirectory(files[i]);
          } else {
            files[i].delete();
          }
        }
      }
    
      return (path.delete());
    }
    

提交回复
热议问题