Перейти к содержанию
Fire Monkey от А до Я
  • 0

[Android] ListView в Берлине


Kitty

Вопрос

В С++ Builder XE7 работает такой код:

const System::UnicodeString sText = L"CA";
TListViewItem * item = ListView1->Items->Add();
item->Text = L"Основной текст";
item->Detail = L"Детальный текст"
item->BitmapRef = Image1->Bitmap; //картинка
item->Data[sText] = TValue::From<UnicodeString>(L"Это текст справа"); //<- В Берлине не отображается

При переносе этого кода в Берлин не отображается справа значение item->Data[sText] в ListView. Как это исправить?

Спасибо.

Ссылка на комментарий

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

  • 0
  • Модераторы
8 минут назад, Kitty сказал:

Не совсем понимаю о чем речь. В предыдущей версии я вижу текст "Это текст справа", в Берлине нет.

речь идёт о том, что вы создаете "кастомный контрол", если это так, то вы его должны отрисовать вручную в событии OnUpdateObjects

Ссылка на комментарий
  • 0

Это делает код из стандартных примеров RAD XE7. Только вот в Берлине ничего не отображается.

void __fastcall TMainForm::ListView1UpdatingObjects(const TObject *Sender, const TListViewItem *AItem,
          bool &AHandled)
{
 TListItemText * LCaption = reinterpret_cast<TListItemText*>((const_cast<TListViewItem*>(AItem))->Objects->FindObject(sText));
 if (LCaption == NULL)
	{
		LCaption = new TListItemText((TListItem*)AItem);
		LCaption->Name = sText;
		LCaption->Align = TListItemAlign::Trailing;
		LCaption->VertAlign = TListItemAlign::Trailing;
		LCaption->PlaceOffset->X = 15;
		LCaption->PlaceOffset->Y = 12;
		LCaption->TextAlign = TTextAlign::Center;
		LCaption->Trimming = TTextTrimming::Character;
		LCaption->IsDetailText = True;
		LCaption->Width = 90;
		LCaption->Height = 45;
	}
}

 

Ссылка на комментарий
  • 0
В 30.06.2016 в 12:57, krapotkin сказал:

я еще раз положу рабочий проект для Delphi Berlin. там есть отличия от общепринятого метода

ListViewTestBerlin.7z

Отличный пример, спасибо! А UListItemElements это просто праздник какой то, даже не представлял что так можно. Не подскажете источник информации по TListItemDrawable, TListViewItem.Adapter и Objects.FindObjectT? В справке эмбаркадеры информация разнится от "Embarcadero Technologies does not currently have any additional information" до "Triggers the OnResetView event, passes the specified list item to its event handler, and calls DoResetView." что не особо раскрывает тему.

Ссылка на комментарий
  • 0

там исходники довольно простые. а исходная идея тут

но правильнее будет сделать фреймворк что-то типа relative layout https://developer.android.com/guide/topics/ui/layout/relative.html

но там серьезно надо думать, а рук не хватает )))

Ссылка на комментарий

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

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

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

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

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

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

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

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

  • Последние посетители   0 пользователей онлайн

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