Aleks Serov Опубликовано 16 февраля, 2023 Поделиться Опубликовано 16 февраля, 2023 Привет мастера! Хочу поменять цвет строки в списке при внесении в него данных. Это возможно? Или только потом уже в событии Update? Пробую так: var MyItem:TListViewItem; begin MyItem :=Listview1.Items.Add; MyItem.Data['Text1']:='MyData'; MyItem.Objects.TextObject.TextColor :=TAlphaColorRec.Gold; ListView1.Adapter.ResetView(MyItem); ListView1.ApplyStyleLookup; end; но приложение крашиться на строке: MyItem.Objects.TextObject.TextColor :=TAlphaColorRec.Gold; Подскажите как правильно реализовать нужную мне функцию? Погуглив рабочего решения так и ненашел ((( Цитата Ссылка на комментарий
0 OnePeople Опубликовано 17 февраля, 2023 Поделиться Опубликовано 17 февраля, 2023 По имени TListItemText(MyItem.Objects.FindDrawable('Text1')).TextColor := AppSettings.TextGeneralColor; По номеру в списке элементов дизайнера item TListItemText(MyItem.Objects.Drawables[0]).Font.Style := [TFontStyle.fsBold]; Цитата Ссылка на комментарий
0 Aleks Serov Опубликовано 17 февраля, 2023 Автор Поделиться Опубликовано 17 февраля, 2023 Сделал по Вашему совету так: varMyItem:TListViewItem;beginMyItem :=Listview1.Items.Add;MyItem.Data['Text1']:='MyData';TListItemText(MyItem.Objects.FindDrawable('Text1')).TextColor := TAlphaColorRec.Gold; ListView1.Adapter.ResetView(MyItem);ListView1.ApplyStyleLookup;end; Ошибка пропала,но текст свой цвет не меняет, отображается заданным в дизайнере цветом. Похоже что при добавлении в список данных менять их цвет нельзя. Может на update прикрутить тогда? Цитата Ссылка на комментарий
0 Aleks Serov Опубликовано 17 февраля, 2023 Автор Поделиться Опубликовано 17 февраля, 2023 но тогда перекрасяться все строки.. А как сделать четную одним цветом,а нечетную другим? Цитата Ссылка на комментарий
0 OnePeople Опубликовано 17 февраля, 2023 Поделиться Опубликовано 17 февраля, 2023 Ну для начала сделайте так varMyItem:TListViewItem;begin ListView1.ApplyStyleLookup;MyItem :=Listview1.Items.Add;MyItem.Data['Text1']:='MyData'; if MyItem.index mod 2 = 0 then TListItemText(MyItem.Objects.FindDrawable('Text1')).TextColor := TAlphaColorRec.Gold else TListItemText(MyItem.Objects.FindDrawable('Text1')).TextColor := TAlphaColorRec.Black;end; Но update тоже надо Цитата Ссылка на комментарий
Вопрос
Aleks Serov
Привет мастера! Хочу поменять цвет строки в списке при внесении в него данных. Это возможно?
Или только потом уже в событии Update?
Пробую так:
var
MyItem:TListViewItem;
begin
MyItem :=Listview1.Items.Add;
MyItem.Data['Text1']:='MyData';
MyItem.Objects.TextObject.TextColor :=TAlphaColorRec.Gold;
ListView1.Adapter.ResetView(MyItem);
ListView1.ApplyStyleLookup;
end;
но приложение крашиться на строке:
MyItem.Objects.TextObject.TextColor :=TAlphaColorRec.Gold;
Подскажите как правильно реализовать нужную мне функцию?
Погуглив рабочего решения так и ненашел (((
Ссылка на комментарий
4 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.