【发布时间】:2011-09-12 13:59:50
【问题描述】:
我正在从我的程序中向 FB 发布一些内容。 效果很好,只是我想先显示 ProgressDialog,然后再显示 AlertDialog。
由于某种原因,ProgressDialog 根本没有出现,而 AlertDialog 却出现了,但代码的执行会继续执行并且不会“等待”。
private void uploadToFB(){
if (settings.getCurrentUploadToFB()){
ProgressDialog progressDialog = ProgressDialog.show(this, "Posting to Facebook", "Please wait ...", true);
Bundle parameters = new Bundle();
parameters.putString("link","https://market.android.com/details?id=il.co.anykey.games.yaniv.lite&feature=search_result");
parameters.putString("picture","http://www.anykey.co.il/images/launcher_yaniv.png");
parameters.putString("name","YanivLite on Android");
parameters.putString("caption","Can you beat my score?");
parameters.putString("description","I scored "+ ScoringForScoreloop.getScore() + " in YanivLite on Android. Can you beat my score?");
facebookConnector.postMessageOnWall(parameters);
final AlertDialog alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setTitle(R.string.uploadedToFacebookTitle);
ScoringForScoreloop.addAssafedScore();
alertDialog.setMessage(getString(R.string.uploadedToFacebookMessage));
alertDialog.setButton(DialogInterface.BUTTON_POSITIVE,getString(R.string.ok), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
try {
alertDialog.dismiss();
finishGame();
} catch (Exception ex) {
ex.printStackTrace();
}
return;
} });
alertDialog.setCancelable(false); // prevent use of back button which would skip the listener
alertDialog.show();
}
else
finishGame();
}
【问题讨论】:
-
对进度对话框使用 AsyncTask。
标签: android android-alertdialog progressdialog