#android #ios #delphi #firemonkey #delphi-xe8
#Android #iOS #delphi #firemonkey #delphi-xe8
Вопрос:
У меня есть Firemonkey Listview в приложении, работающем как на iOS, так и на Android. Список содержит 5 элементов.
Одна вещь, которую я заметил, это то, что когда я нажимаю на просмотр списка пальцем, но не на фактический элемент (в пустом пространстве под последним элементом), он по-прежнему выбирает / выделяет последний элемент в listview.
Есть ли способ предотвратить это?
Спасибо,
Комментарии:
1. Почему это так важно для вас?
2. Потому что я не нажимаю элемент в Listview, поэтому я бы не ожидал никакой реакции.
Ответ №1:
Проблема заключается в файле модуля FMX.ListView.pas.
Существует функция, вызываемая
function TCustomListView.FindItemAbsoluteAt(ViewAt: Integer): Integer;
Необходимо заменить
if ViewAt >= FHeightSums[FHeightSums.Count - 1] then
Exit(FHeightSums.Count - 1);
С
if ViewAt >= (FHeightSums[FHeightSums.Count - 1] GetItemHeight(FHeightSums.Count - 1))
then Exit(-1);
Как только это будет изменено, сохраните и добавьте модульный файл в свой проект, и он должен работать.