Перейти к содержанию
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 эмодзи.

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

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

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

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