Модальные всплывающие окна в Delphi Firemonkey на Android - PullRequest
0 голосов
/ 20 сентября 2018

Я работаю над приложением 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;

Мне нужно что-то вроде «Нажмите кнопку, чтобы продолжить событие»

1 Ответ

0 голосов
/ 20 сентября 2018

Вы должны переместить свою логику в анонимный метод.Это будет выполнено после того, как пользователь нажмет соответствующую кнопку.Вам также не нужна переменная 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...