Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用进度条删除文件夹和内容_Java_Android - Fatal编程技术网

Java 使用进度条删除文件夹和内容

Java 使用进度条删除文件夹和内容,java,android,Java,Android,我想用进度条删除文件夹和内容 ,请帮帮我 void deletRecursive(File fileOrDirectory){ if(fileOrDirectory.isDirectory()){ for(File child :fileOrDirectory.listFiles()) deletRecursive(child); fileOrDirectory.delete(); } if(!fileOrDir

我想用进度条删除文件夹和内容 ,请帮帮我

  void deletRecursive(File fileOrDirectory){
    if(fileOrDirectory.isDirectory()){
        for(File child :fileOrDirectory.listFiles())
            deletRecursive(child);
        fileOrDirectory.delete();
    }
    if(!fileOrDirectory.delete()){


    }
}
使用异步任务。例如

private class BackgroundTask extends AsyncTask <Void, Void, Void> {
    private ProgressDialog dialog;

    public BackgroundTask(MyMainActivity activity) {
        dialog = new ProgressDialog(activity);
    }

    @Override
    protected void onPreExecute() {
        dialog.setMessage("Doing something, please wait.");
        dialog.show();
    }

    @Override
    protected void onPostExecute(Void result) {
        if (dialog.isShowing()) {
            dialog.dismiss();
        }
    }

    @Override
    protected Void doInBackground(Void... params) {
        //do your work

        return null;
    }

}
私有类BackgroundTask扩展了AsyncTask{
私人对话;
公共背景任务(MyMain活动){
dialog=新建进度对话框(活动);
}
@凌驾
受保护的void onPreExecute(){
setMessage(“正在做某事,请稍候”);
dialog.show();
}
@凌驾
受保护的void onPostExecute(void结果){
if(dialog.isShowing()){
dialog.dismise();
}
}
@凌驾
受保护的Void doInBackground(Void…参数){
//做你的工作
返回null;
}
}

如果要报告进度,可以使对话框不具有不确定性,并实现
onProgressUpdate
。然后您可以在
doInBackground
中使用
publishProgress
,使用asynctask进行此操作

以下是一个例子:-