为什么当我们运行进度对话框时,它没有显示出来?



我是Android的新手,并且正在做编码来满足我的各种需求。

有一个奇怪的问题,我需要显示进度对话框来掩盖我从 Facebook 下载图像的背景工作,并在我将它们放入矢量对象后在 ListView 中显示它们。

我的代码是这样的:

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        facebook.authorize(this, new String[] { "email", "publish_checkins",
                "user_photos" },
        //new Dialog Listner code
        btnAlb = (Button) findViewById(R.id.btnAlb);
        logout = (Button) findViewById(R.id.logout);
        btnAlb.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {

    //**            Log.i("pDialog","Entry");
        pdialog = ProgressDialog.show(MainActivity.this, "Processing Data","Loading..");
    //this is not working !!
    //**            Log.i("pDialog","Exit");
                try {
    //Lot of JSON Parsing
                    pdialog.dismiss();
                    Intent intent = new Intent(MainActivity.this,AlbumHolder.class);
                    startActivity(intent);
                } catch (Exception e) {
                    e.printStackTrace();
                    pdialog.dismiss();
                }

            }
        });
}

所以我记录了进度对话框的开始和结束,并期望对话框显示。 但事实并非如此。 有人可以解释为什么吗?

我也使用了一个runOnUiThread()线程,但它也产生了相同的结果。

定义进度对话框的方法不正确。像这样尝试

 pdialog =new ProgressDialog(mContext);
 pdialog.setMessage("Your message");
 pdialog.show();

这里是您的活动上下文mContext并使用pdialog.dismiss();将其关闭

当你的任务完成时,你应该使用 pdialog.dismiss()。对于此问题,您应该使用 AsyncTask 类。更多信息请阅读此图特。

最新更新