Delphi Firemonkey 中的模态弹出窗口 Android

Modal Popups in Delphi Firemonkey on Android

我正在开发一个 Android 应用程序,但我需要一个弹出窗口,我可以在代码中调用它来创建模态弹出窗口,因此在代码中设置一个变量。 我尝试将它分布在不同的函数中,并且它起作用了,但是当从一个函数跳到另一个函数时,遵循代码变得非常糟糕......

我想做的和功能MessageDlg()一样,但是在Android上没有实现。

我试过 MessageDlg() 和匿名函数,但在我按下按钮之前它也会运行下面的代码。

我需要类似的东西,但是在 Android 上,if 语句将在我输入之前执行。

MyInt: Integer;
begin

  MessageDlg('You want to Continue?', System.UITypes.TMsgDlgType.mtInformation,
  [System.UITypes.TMsgDlgBtn.mbYes, System.UITypes.TMsgDlgBtn.mbNo], 0,
  procedure(const AResult: TModalResult) begin
    case AResult of
      mrYes:
        MyInt := 0;
      mrNo:
        MyInt := 1;
    end;
  end);

  if MyInt = 0 then
    //Do Something
  else
    //Do Something
end;

我需要它来做 "Click a button to Continue event"

您必须将您的逻辑移动到匿名方法中。这将在用户单击适当的按钮后执行。在这种情况下,您也不需要 MyInt 变量。

begin

  MessageDlg('You want to Continue?', System.UITypes.TMsgDlgType.mtInformation,
  [System.UITypes.TMsgDlgBtn.mbYes, System.UITypes.TMsgDlgBtn.mbNo], 0,
  procedure(const AResult: TModalResult) begin
    case AResult of
      mrYes:
        begin
          //Do Something (MyInt = 0 branch)
        end;
      mrNo:
        begin
          //Do Something (MyInt = 1 branch)
        end;
    end;
  end);

end;