Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.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_Progressdialog - Fatal编程技术网

出现Android ProgressDialog阴影

出现Android ProgressDialog阴影,android,progressdialog,Android,Progressdialog,在我的android应用程序中,在循环中连续调用API,然后进程对话框会出现阴影状的外观。我认为问题在于多个对话框正在运行..请帮助我避免这种阴影。代码如下: for(int i = indexOfSelectedId + 1 ; i < photoall_id.size(); i++) { all_postid.add(photoall_id.get(i)); url = URLS.BASEURL + "mobile_api

在我的android应用程序中,在循环中连续调用API,然后进程对话框会出现阴影状的外观。我认为问题在于多个对话框正在运行..请帮助我避免这种阴影。代码如下:

for(int i = indexOfSelectedId + 1 ; i < photoall_id.size(); i++)
        {
            all_postid.add(photoall_id.get(i));
            url = URLS.BASEURL + "mobile_api.php?action=post&post_id=" +posoall_id.get(i)+user_id="+userid;

            new  GetImage().execute(url);


        }
 private class GetImage extends AsyncTask<String, Void, ArrayList<String>> {

        String json = null;
        ProgressDialog dialog;

        @Override
        protected void onPreExecute() {
            all_data=new ArrayList<>();
            dialog = new ProgressDialog(FullScreenActivity.this);
            dialog.setMessage("Loading Image...");
            dialog.setCanceledOnTouchOutside(false);
            dialog.setCancelable(false);
            dialog.show();
            super.onPreExecute();
        }

        @Override
        protected void onPostExecute(ArrayList<String> aVoid) {


            dialog.dismiss();


            all_url.add(aVoid.get(0));


        }

        @Override
        protected ArrayList<String> doInBackground(String... params) {

            JSONReader reader = new JSONReader();
            json = reader.getJsonGET(params[0]);

            if (json != null) {
                try {
                    JSONObject object = new JSONObject(json);
                    if (object.getJSONArray("posts").getJSONObject(0).getInt("count") != 0) {
                        photo_url = object.getJSONArray("posts").getJSONObject(0).getString("photo_url");

                    }
}
for(int i=indexOfSelectedId+1;i

建议解决方案。提前感谢您避免出现多个对话框以显示:

public void showProgress(String msg)
{
    if(dialog == null){
        dialog = new ProgressDialog(this);
        dialog.setTitle(null);
        dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
        dialog.setCancelable(false);
        dialog.setCanceledOnTouchOutside(false);
    }

    if(dialog.isShowing())
    {
        dialog.dismiss();
    }

    dialog.setMessage(msg);
    dialog.show();
}

public void dismissProgress()
{
    if(dialog != null && dialog.isShowing())
        dialog.dismiss();
}

要避免显示多个对话框,请执行以下操作:

public void showProgress(String msg)
{
    if(dialog == null){
        dialog = new ProgressDialog(this);
        dialog.setTitle(null);
        dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
        dialog.setCancelable(false);
        dialog.setCanceledOnTouchOutside(false);
    }

    if(dialog.isShowing())
    {
        dialog.dismiss();
    }

    dialog.setMessage(msg);
    dialog.show();
}

public void dismissProgress()
{
    if(dialog != null && dialog.isShowing())
        dialog.dismiss();
}