Android异步任务等待Status.FINISHED

Android异步任务等待Status.FINISHED,android,android-asynctask,dialog,Android,Android Asynctask,Dialog,我正在用AsyncTask从url下载一个图像, 我想在图像下载后立即在对话框中显示此图像。 我正在尝试这段代码:它没有等到完成,这段代码正在返回运行 if(dt.getStatus() == AsyncTask.Status.FINISHED) { dialog.show(); } 您需要设置一个事件侦听器。只要设置一个if-then语句,就意味着它在找到代码时就会被执行。事件侦听器将等待事件发生(在本例中为Status.FINISHED),然后在侦听器内执行代码

我正在用AsyncTask从url下载一个图像, 我想在图像下载后立即在对话框中显示此图像。 我正在尝试这段代码:它没有等到完成,这段代码正在返回运行

if(dt.getStatus() == AsyncTask.Status.FINISHED) {

        dialog.show();

    }

您需要设置一个事件侦听器。只要设置一个if-then语句,就意味着它在找到代码时就会被执行。事件侦听器将等待事件发生(在本例中为Status.FINISHED),然后在侦听器内执行代码

与肯·沃尔夫合作有助于

        public class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
        ImageView bmImage;
        private Context mcontec;

        public DownloadImageTask(ImageView bmImage, Context mContextr) {
            this.bmImage = bmImage;
            mcontec=mContextr;
        }

        protected Bitmap doInBackground(String... urls) {
            String urldisplay = urls[0];
            Bitmap mIcon11 = null;
            try {
                InputStream in = new java.net.URL(urldisplay).openStream();
                mIcon11 = BitmapFactory.decodeStream(in);
            } catch (Exception e) {
                Log.e("Error", e.getMessage());
                e.printStackTrace();
            }
            return mIcon11;
        }

        protected void onPostExecute(Bitmap result) {

            dialog(result, mcontec);
        }

        public void dialog(Bitmap resim, final Context ctx){

            final Dialog dialog = new Dialog(ctx, R.style.CustomDialogTheme);

            dialog.setContentView(R.layout.perdereklam);
            ImageView reklam = (ImageView) dialog.findViewById(R.id.reklampng);
            reklam.setImageBitmap(resim);
            reklam.setOnTouchListener(new OnTouchListener() {

            // fill your stuff...

    }

        dialog.show();
}

只需显示对话框
onPostExecute
您可以显示一个示例吗这里是一个显示
onPostExecute
中对话框的示例:下面是一个关于如何设置自定义事件侦听器的很好示例:
public static void showRateDialog(final Context mContextr) {
    final Dialog dialog = new Dialog(mContextr, R.style.CustomDialogTheme);
    ImageView reklam = (ImageView) dialog.findViewById(R.id.reklampng);
    final DownloadImageTask dt = new DownloadImageTask(reklam, mContextr);
            dt.execute("your url");
}