Перейти к содержанию
  • Регистрация
  • 0
Liberator

Дублирование строки ввода

Вопрос

Доброго времени суток!

 

Не знаю, глюк это или так задумано, но ЕСЛИ:

 

1) Заполнить Items чем-нибудь.

2) Запустить под Android

3) Ввести что-либо в строке (раскладка клавиатуры неважна)

4) Открыть список (кнопкой справа строки)

5) Закрыть его по кнопке ОТМЕНА

6) Продолжить ввод, введя ОДИН какой-либо символ

 

Получаем: строка (введенная раньше) продублировалась. То есть стала в два раза длиннее.

 

Мне это вынесло мозг, если честно (делаю выбор города с динамическим формированием списка), и на это явление наткнулся при тестировании. Сначала грешил на себя, но сделал чистое приложение, заполнив в дизайне Items - результат тот же самый.

 

Если кто уже боролся с этим - просьба поделиться опытом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

  • 0

Выяснил причину: гадит режим T9.  Но вопрос остается: как-нибудь с этим бороться можно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

не понравился ComboEdit, думал,что это нормальный аналог Windows ComboBox, но нет...

под андроид это просто popup, еще и с кнопками

поэтому использовал для выбора города TComboBox

 

для "тру" Combo сейчас доделываю вариант из этой темы

думаю в базовой платформе не хватает этого очень нужного компонента с динамической подгрузкой items

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

В TComboBox  можно ввести только то, что есть у него в списке, что неприменимо к нас. пунктам (так как достать полный каталог ВСЕХ нас. пунктов, не только городов - почти нереально). Так что у TComboEdit в этом явно преимущество.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

в андроиде - только в теории, на практике пользоваться этим невозможно...

 

достать каталог всех нас. пунктов (по кр. мере РФ) - я сейчас делаю, беру данные во внешнем сервисе...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Гость
Ответить на вопрос...

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

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

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

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

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


  • Похожий контент

    • От Alex Bozhko
      Вот такой шикарный баг в приложении.
       
      -Start the application
      -While the application is opened (the start icon is displayed), press power button (or close Phone Case)
      -Press power button (or open Phone Case)
      -Unbloch the screen

      Black screen witn or without start icon is displayed, the application is not opened. It's possible to reopen the application via application manager only
       
      Вкратце по-русски. Если при запуске приложения в момент, когда на экран выведена заставка, нажать кнопку power, приложение виснет.
       
      Чуть мозги себе не сломал, пока отловил причину.
       
      Возникает, если при создании главной формы приложения динамически заполнять TComboEdit. Для TComboBox - не воспроизводится.
      Актуально для Seattle с апдейтом.
       
      Код заполнения примерно такой:
      procedure TfMain.FormComboEdit; var SL: TStrings; i: integer; begin SL:= TStringList.Create; try for i := 0 to 10 do begin SL.Add('String '+IntToStr(i)); end; ComboEdit1.BeginUpdate; ComboEdit1.Clear; ComboEdit1.Items.AddStrings(SL); ComboEdit1.EndUpdate; finally SL.Free; end; end; procedure TfMain.FormCreate(Sender: TObject); begin FormComboEdit; end; Или другой, пробовал несколько вариантов заполнения.
       
      Приложение прилагаю.
      Blank.zip
    • От estra
      Почему у TComboEdit события KeyUp и KeyDown срабатывают только при вводе числовых значений ('0'..'9') и не срабатывает при вводе других символов?
       
      Проверить очень просто
      unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls, FMX.Edit; type TForm1 = class(TForm) ComboEdit1: TComboEdit; Label1: TLabel; Label2: TLabel; procedure ComboEdit1KeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); procedure ComboEdit1KeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.fmx} procedure TForm1.ComboEdit1KeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); begin Label2.Text := 'KeyChar = ' + KeyChar + #13 + 'Ord( KeyChar ) = ' + IntToStr( Ord( KeyChar ) ) + #13 + 'Key = ' + IntToStr( Key ); end; procedure TForm1.ComboEdit1KeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); begin Label1.Text := 'KeyChar = ' + KeyChar + #13 + 'Ord( KeyChar ) = ' + IntToStr( Ord( KeyChar ) ) + #13 + 'Key = ' + IntToStr( Key ); end; end.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

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