1

私は Android が初めてで、さまざまなニーズを満たすためにコーディングを行っています。

Facebook から画像をダウンロードするバックグラウンド作業を隠すために進行状況ダイアログを表示し、Vector オブジェクトで取得した後に 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 に答える