在对话框之间显示ProgressDialog

Notchopra

我试图通过创建一系列可以在Android中查看的对话框菜单来模拟Android中的USSD交互。我正在尝试使其在对话框之间出现一个进度对话框,其中显示“ USSD代码正在运行...”。但是,单击肯定按钮后,当我尝试使用可运行的计时器运行ProgressDialog并遵循它时在下一个名为FirstTimeUser的对话框中,即使我尝试使用另一个计时器将它们分开,它们也只会在另一个对话框的上方分层。如何使它们连续而不是同时运行?下面的代码段:

    USSDprogressDialog();
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    LayoutInflater inflater = this.getLayoutInflater();

    // Inflate and set the layout for the dialog
    // Pass null as the parent view because its going in the dialog layout
    final View dialogView = inflater.inflate(R.layout.number_response_dialog, null);
    builder.setView(dialogView)
            .setMessage(R.string.MainMenuText)
            // Add action buttons
            .setPositiveButton(R.string.send, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int id) {
                    // Send number to next dialog
                    String choice = getMenuChoice(dialogView);
                    if (choice.equals("5")) {
                        USSDprogressDialog();
                        FirstTimeUse();
                    } else {
                        //Do nothing
                    }
                }
            })
            .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    // End session
                }
            });
    AlertDialog dialog = builder.create();
    dialog.show();

带有计时器的进度对话框是:

public void USSDprogressDialog() {
    final ProgressDialog progress = new ProgressDialog(this);
    progress.setMessage("USSD code running...");
    progress.show();


    Runnable progressRunnable = new Runnable() {

        @Override
        public void run() {
            progress.cancel();
        }
    };

    Handler handler = new Handler();
    handler.postDelayed(progressRunnable, 2000);
}

欢迎大家提出意见!谢谢!

乌里尔·弗兰克尔(Uriel Frankel)

将FirstTimeUse()移至对话框的progressCancel。也许您需要使USSDprogressDialog(Runnable runnable)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章