1

我试图在 AlertDialog 的 onClick 事件中显示一个 ProgressDialog,代码有效,但 ProgressDialog 似乎卡在 AlertDialog 后面,这使这一点失败

public class MainActivity extends Activity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
        {
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("Title").setMessage("Message").setPositiveButton("Yes", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {

                    ProgressDialog pd = ProgressDialog.show(MainActivity.this, "Title", "Text", true, false);
4

2 回答 2

0

这种方法怎么样?

AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Title").setMessage("Progress?");
        builder.setPositiveButton("Yes", new OnClickListener() {

            @Override
            public void onClick(DialogInterface alertDialog, int which) {
                // TODO Auto-generated method stub
                alertDialog.dismiss();
                showProgressDlg();
            }
        });
        builder.show();

public void showProgressDlg()
    {
        ProgressDialog pDialog = new ProgressDialog(context);
        //All pd properties...
    }
于 2012-12-07T05:47:28.077 回答
0

旧帖子,但我今天早上遇到了问题。

我试图把它放在一个this.runOnUiThread(...)但没有效果。this我尝试使用/的副本MyActivity.this,但没有。

诀窍(我不明白原因):制作你的ProgressDialog类属性,不要从你的 AlertDialog 调用的方法中定义它onClick

private ProgressDialog pDialog;

我的情况正是您的情况,现在可以了。也许它会帮助某人。

于 2015-09-22T08:25:14.903 回答