1

我是 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();
                }


            }
        });

}

所以我已经记录了 ProgressDialog 的开始和结束,并希望对话框出现。但事实并非如此。有人可以解释为什么吗?

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

4

2 回答 2

3

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

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

mContext是您的活动上下文并用于pdialog.dismiss();解除它

于 2012-10-01T13:03:30.987 回答
0

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

于 2012-10-01T13:07:27.807 回答