Перейти к содержанию
  • 0
YuraProff

TEdit не понятное удаление последнего символа

Вопросы

Android,

Berlin

В поле TEdit 5 символов, делаем Tap по последнему символу, курсор стает за последним символом, нажимаем BackSpace и все поле очищается. Можно как то сделать что бы последний символ удалялся а не все символы в поле?

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


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

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

  • 0

Эээ, а текст не оказывается выделенным из-за чего, собссно, и был далее удалён?

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0
2 часа назад, POV сказал:

Эээ, а текст не оказывается выделенным из-за чего, собссно, и был далее удалён?

Визуально выделения нету. Это воспроизводится даже на простом проекте в который добавлен только один TEdit без каких либо обработчиков. За все устройства говорить не могу, но точно на Samsung, Mizu.

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


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

Здравствуйте.

Это баг, я сообщил о нём ещё в мае (RSP-14928 и RSP-14929), в тех. поддержке предложили временное решение (ответ ниже). (Тема В TEdit стирается предыдущий текст аналогичная).

find FMX.Platform.Android.pas

find
procedure TTextServiceAndroid.SetCaretPosition(const Value: TPoint);

change code to:
procedure TTextServiceAndroid.SetCaretPosition(const Value: TPoint);
var
  SelStart, SelEnd: Integer;
begin
  if FCaretPosition <> Value then
  begin
    FCaretPosition := Value;
    CalculateSelectionBounds(SelStart, SelEnd);
    if (FTextView <> nil) and not FInternalUpdate then
      PlatformAndroid.SynchronizeOnUIThread(
        procedure
        begin
//Fix By [龟山]Aone(1467948783)
//https://quality.embarcadero.com/browse/RSP-14928
//          if (SelEnd - SelStart) > 0 then
//            FTextView.setSelection(SelStart, SelEnd)
//          else
            FTextView.setCursorPosition(CaretPosition.X);
        end);
  end;
end;

 

 

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


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

У меня планшет Samsung Galaxy T285. Такой проблемы не обнаруживается в Берлине.
Создал обычный Android проект. Положил TEdit. Задал ему некий тест. Запускаю на устройстве. Перехожу за последний символ, нажимаю BackSpace и стирается только последний символ, а не весь текст

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


Ссылка на сообщение
Поделиться на другие сайты
  • 1
В 23.08.2016 в 14:17, dmitry сказал:

У меня планшет Samsung Galaxy T285. Такой проблемы не обнаруживается в Берлине.
Создал обычный Android проект. Положил TEdit. Задал ему некий тест. Запускаю на устройстве. Перехожу за последний символ, нажимаю BackSpace и стирается только последний символ, а не весь текст

Попробуйте поставить два Edit-а и переходите с одного на другой и попробуйте удалить последний символ.

 

В 23.08.2016 в 13:54, Andrey Efimov сказал:

Это баг, я сообщил о нём ещё в мае (RSP-14928 и RSP-14929), в тех. поддержке предложили временное решение (ответ ниже)

Спасибо, решение сработало.

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


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

10.1 upd2 Berlin Указанный способ не сработал.

Вышел из положения так: 

procedure TForm1.Edit6Click(Sender: TObject);
var
  selcol, selst: Integer;
begin  
  selst := Edit6.SelStart; //запонинаем куда кликнули курсором
  if Edit6.Text <> '' then  
  begin
    Edit6.SelectAll;  //выделяем всю строку
    selcol := Edit6.SelLength;//узнаем сколько символов в строке
    Edit6.SelStart := selcol - 1; //ставим курсор в любое место чтобы снять выделение и в помощьнике клавиатуры появились подсказки
    Edit6.SelStart := selst; //и возвращаем каретку на место куда изначально было кликнуто
  end;
end;

Только есть минус:по удержанию пальца текст не получиться выделить. 

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


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

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

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

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

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

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

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

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

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


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

    • От Wolfone
      Всем день добрый.
      Есть проблема с TEdit и TLabel, искажает текст дорисовывает линии с верху или с боку каждого символа.
      Пробовал через стили перерисовать, меняется все кроме текста(проблема не уходит),
      в чистом приложении глюк отсутствует.
      RAD 10.3.[1,2,3] на всех трех одинаковая проблема.
      Подскажите куда капать?

    • От Barbanel
      Всем привет!
      Недавно столкнулись с особенностью двух разных смартфонов.
      При вводе в TEdit обычного емейл-адреса срабатывает автозамена. После этого, ввод текста ломается.
      Т.е. пользователь ставит курсор на последний символ слова, нажимает внопку "стереть", каретка перескакивает на второй символ в тексте, и стирает именно второй символ. Конец строки таким образом вообще невозможно удалить.
      Есть видео с багом. Утверждается что проблема воспроизводится на более древнем устройстве.
      Вопрос: кто-то сталкивался с таким, как лечили?
      Собсно предполагаемые решения
      1) отключить автозамену для конкретного поля ввода (но я не уверен что это возможно),
      2) дебажить и исправлять TEdit (шоб меня покрасили!!!)
      Всем заранее сенкс!
      TEdit Bug.mp4
    • От Bohdan
      Всем Привет!

      Платформа ios Delphi 10.2.2, хочу при нажатии на label показывать edit (для редактирования label.) Столкнулся с проблемой:
       Как отследить Tap  за пределами Edit чтобы его скрыть, не могу понять как это сделать.
    • От Sashar333
      Delphi 10,1 berlin
      Здравствуйте!
      Подскажите как отключить на android в TEdit появляющиеся кнопки ВСТАВКА КОПИРОВАТЬ и т.д.
      или как запретить вставлять из буфера в приложении?
      Спасибо!
       
    • От Ufomaster
      При использовании на форме TMS FMX WebGMaps и Edit ов, возникает зависание приложения после повторного входа в эдит и удаления там текста. 
    • От Anasazi
      Всем привет. Столкнулся со следующей проблемой после активации tedit при попытке создать любое намерение (для набора номера или открытия ссылки) программа наглухо зависает. И наоборот после создания и выполнения намерения, если перейти к tedit происходит глухое зависание. Тоже самое происходит и с memo.
      Проблема похожа на описанную в этой теме, но решение из нее не помогает
      Чем заменить tedit не знаю, пробовал все возможные варианты. Функции работы с намерениями рабочая и если не активировать tedit то все работает отлично.
      Пробовал на разных устройствах, результат тот же. Правда на всех устройствах был Android 5.
       
      Подскажите пожалуйста, возможно ли под android создать диалоговое окно с вводом текста? Или может быть есть еще какие-нибудь способы ввода текста?
       
    • От Barbanel
      Здравствуйте уважаемые,
      есть форма с множеством TEdit, при этом они не помещаются на один экран и помещена на TScrollBox.
      При скороллинге если скроллить нажимая на подложку (т.е. сам TScrollBox) все работает идеально, если же нажимать на сам TEdit и таким образом скроллить, то выезжает клавиатура, что вобщемто неудобно.
      Вопрос: как настроить приложение/форму/ТСкроллБокс так, чтобы при зажатии и движении пальца вверх/вниз на ТЕдите клавиатура не выезжала?
      На нативных приложениях описанного выше поведения я не замечал.
       
      Заранее спасибо!
       
    • От Euvene
      Добрый день, возникла такая проблемка: при добавлении в ListBoxItem компонента TEdit если поставить ему TControlType::Platform он вылазит за пределы ListBox но при Styled все норм, кто нибудь сталкивался и как с этим бороться?


    • От lala4a
      Доброе время суток .  2 вопроса по Tedit . Помогите , пожалуйста )
      1) Притормаживает ввод текста и выделения .
      2) Внешний вид меню Вставить при длительном тапе по Tedit  отличается от всех других приложений .
       


    • От x0k
      Berlin android 4.2.2

      После заполнения edit'а каретка смещается на пару символов влево, хотя стоит в конце строки, HorzAlign = Trailing.
      Как можно исправить или чем лучше заменить edit ?
  • Последние посетители   0 пользователей онлайн

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

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