Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.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
Android ProgressDialog不';不显示_Android_Android Asynctask_Progressdialog - Fatal编程技术网

Android ProgressDialog不';不显示

Android ProgressDialog不';不显示,android,android-asynctask,progressdialog,Android,Android Asynctask,Progressdialog,当我的活动获取一些数据时,我希望出现一个进度对话框。我使用了异步任务,但是它没有显示 我已经尝试了前面堆栈溢出问题的所有答案,但似乎没有一个适合我 private class BackgroundSync extends AsyncTask<Void,Void,Void> { ProgressDialog progress = new ProgressDialog(MainActivity.this); @Override protected void on

当我的活动获取一些数据时,我希望出现一个进度对话框。我使用了异步任务,但是它没有显示 我已经尝试了前面堆栈溢出问题的所有答案,但似乎没有一个适合我

private class BackgroundSync extends AsyncTask<Void,Void,Void> {
    ProgressDialog progress = new ProgressDialog(MainActivity.this);

    @Override
    protected void onPreExecute() {
        progress.setMessage("Loading");
        progress.setTitle("Loading");
        progress.show();
        super.onPreExecute();



    }

    @Override
    protected Void doInBackground(Void... voids) {
        /get data

        return null;
    }

    @Override
    protected void onPostExecute(Void aVoid) {

        progress.dismiss();
        super.onPostExecute();

    }
}
我该怎么办?此
ProgressDialog
问题花了2个多小时才解决

使用此代码

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

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

    @Override
    protected void onPreExecute() {
        dialog.setMessage("Loading");
        dialog.setTitle("Loading");
        dialog.show();
    }
    @Override
    protected Void doInBackground(Void... args) {
        // do background work here
        return null;
    }
    @Override
    protected void onPostExecute(Void result) {
         // do UI work here
        if (dialog.isShowing()) {
            dialog.dismiss();
        }
    }
}
私有类后台同步扩展异步任务{
私人对话;
公共背景同步(MyMain活动){
dialog=新建进度对话框(活动);
}
@凌驾
受保护的void onPreExecute(){
设置消息(“加载”);
对话框.setTitle(“加载”);
dialog.show();
}
@凌驾
受保护的Void doInBackground(Void…args){
//在这里做背景工作
返回null;
}
@凌驾
受保护的void onPostExecute(void结果){
//UI在这里工作吗
if(dialog.isShowing()){
dialog.dismise();
}
}
}

问题在于您的主要活动。请查看上述建议以了解更多详细信息
private class BackgroundSync extends AsyncTask<Void, Void, Void> {
    private ProgressDialog dialog;

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

    @Override
    protected void onPreExecute() {
        dialog.setMessage("Loading");
        dialog.setTitle("Loading");
        dialog.show();
    }
    @Override
    protected Void doInBackground(Void... args) {
        // do background work here
        return null;
    }
    @Override
    protected void onPostExecute(Void result) {
         // do UI work here
        if (dialog.isShowing()) {
            dialog.dismiss();
        }
    }
}