Перейти к содержанию
Fire Monkey от А до Я
  • 0

Проблема с вводом текста


Anasazi

Вопрос

Опубликовано (изменено)

Всем привет. Столкнулся со следующей проблемой после активации tedit при попытке создать любое намерение (для набора номера или открытия ссылки) программа наглухо зависает. И наоборот после создания и выполнения намерения, если перейти к tedit происходит глухое зависание. Тоже самое происходит и с memo.

Проблема похожа на описанную в этой теме, но решение из нее не помогает

Чем заменить tedit не знаю, пробовал все возможные варианты. Функции работы с намерениями рабочая и если не активировать tedit то все работает отлично.

Пробовал на разных устройствах, результат тот же. Правда на всех устройствах был Android 5.

 

Подскажите пожалуйста, возможно ли под android создать диалоговое окно с вводом текста? Или может быть есть еще какие-нибудь способы ввода текста?

 

Изменено пользователем Anasazi

Рекомендуемые сообщения

  • 0
  • Модераторы
Опубликовано
10 минут назад, Anasazi сказал:

Подскажите пожалуйста, возможно ли под android создать диалоговое окно с вводом текста? Или может быть есть еще какие-нибудь способы ввода текста?

InputDialog не подходит?

  • 0
Опубликовано
6 минут назад, Равиль Зарипов (ZuBy) сказал:

InputDialog не подходит?

Наверное подойдет. А он работает под android?

Пробую вызвать так:

InputBox('Test program', 'Введите текст для поиска', 'Cardiff');

Получаю:

 

Screenshot_2017-03-07-11-31-57-028_com.kungur.pro.png

  • 0
Опубликовано
uses  
  FMX.DialogService,  FMX.VirtualKeyboard
...

procedure TfrSets.txtPassClick(Sender: TObject);
begin
  InputText('Введите пароль', Sender);
end;

procedure TfrSets.InputText(heading: String; Sender: TObject);
var
  FKService: IFMXVirtualKeyboardService;
begin
  TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(FKService));

  TDialogservice.InputQuery(heading, ['Ввод'], [(Sender as TText).Text],
    procedure(const AResult: TModalResult; const AValues: array of string)
      begin
        case AResult of
          mrOk:
            begin
              (Sender as TText).Text:=avalues[0];    
              if (FKService<>nil) and (TVirtualKeyBoardState.Visible in FKService.VirtualKeyBoardState) then
              begin
                FKService.HideVirtualKeyboard;
              end;
            end;
          mrCancel:
            begin
              if (FKService<>nil) and (TVirtualKeyBoardState.Visible in FKService.VirtualKeyBoardState) then
              begin
                FKService.HideVirtualKeyboard;
              end;
            end;
        end;
      end
    );
end;

Делаю так ^^^

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...