如何在对话框而不是 Toast 中显示信息

How to display information in a Dialog Box instead of a Toast

我有一个应用程序,其中来自餐厅订单的信息,即 3 x 薯条、2 x 汉堡、4 x 罐头,总计为:13-40 英镑显示在吐司中。 一切都很好,但我更愿意让用户在 对话框,例如带有接受和拒绝按钮。 我该怎么做?显然,xml 部分很简单,但我如何在 MainActivity 中添加代码 - 目前,我有一个提交订单按钮,然后弹出带有订单的吐司。 这是我的 Toast 代码行..

DecimalFormat decimalFormat = new DecimalFormat(COMMA_SEPERATED);
          result.append("\nTotal: £"+decimalFormat.format(totalamount)); //totalamount);  
          //Displaying the message on the toast  
          Toast.makeText(MainActivity.this, result.toString(), Toast.LENGTH_LONG).show();  

使用如下所示的 AlertDialog 和点击提交订单按钮中的以下代码

 DecimalFormat decimalFormat = new DecimalFormat(COMMA_SEPERATED);
      result.append("\nTotal: £"+decimalFormat.format(totalamount));
 AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(MainActivity.this);
  alertDialogBuilder.setMessage(result.toString());
  alertDialogBuilder.setPositiveButton("Accept", 
  new DialogInterface.OnClickListener() {

     @Override
     public void onClick(DialogInterface arg0, int arg1) {
        //do what you want to do if user clicks ok

     }
  });
  alertDialogBuilder.setNegativeButton("Decline", 
  new DialogInterface.OnClickListener() {

     @Override
     public void onClick(DialogInterface dialog, int which) {
        //do what you want to do if user clicks cancel.
     }
  });

  AlertDialog alertDialog = alertDialogBuilder.create();
  alertDialog.show();

您需要使用 AlertDialog。例如:

DecimalFormat decimalFormat = new DecimalFormat(COMMA_SEPERATED);
      result.append("\nTotal: £"+decimalFormat.format(totalamount));

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
    builder.setTitle("Hello");
    builder.setMessage(result.toString());
    builder.setPositiveButton(android.R.string.ok, 
    new DialogInterface.OnClickListener() {

          @Override
           public void onClick(DialogInterface arg0, int arg1) {
          //User accepted

    });
    builder.setNegativeButton(android.R.string.cancel, 
    new DialogInterface.OnClickListener() {

          @Override
           public void onClick(DialogInterface arg0, int arg1) {
          //User didn't accept

    });
    AlertDialog dialog = builder.create();
    dialog.show();