Fals du noch nicht weitergekommen bist. Subitems gibt es in der FMX ListView nicht,
jedenfalls nicht in der selben Begrifflichkeit wie in
VCL. Ist ein bischen aufwendiger das Ganze, aber dafür individualisierbarer.
Ich hoffe ich gebe das richtig wieder, aber in FMX gibt es nicht nur DAS Item in einer Listview,
sondern ein Hauptobjekt das als Container dient aber selbst keine Daten zur Anzeige bereithält und
beliebig viele andere Objekte mit den einzelnen Bedürfnissen (Buttons, Text, Bilder usw.).
Laut deinem Screenshot hast du das ja schon mit Text1, Text2, Text3 als DynamicAppearance unter ItemAppearance eingestellt,
sonst würde es da ja glaub ich nicht so drin stehen (können).
Ansonsten hier nochmal vom Schöpfer:
DynamicAppearance.
Anbei das einfachste Hinzufügen und Auslesen der Items. Gibt bestimmt noch unzählige andere Wege damit zu arbeiten.
Hinzufügen:
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
var
item: TListViewItem;
textItem: TListItemText;
begin
item := ListView1.Items.Add;
textItem := item.Objects.FindObjectT<TListItemText>('Text1');
textItem.Text := 'Item 1 Hallo 1';
textItem := item.Objects.FindObjectT<TListItemText>('Text2');
textItem.Text := 'Item 1 Hallo 2';
textItem := item.Objects.FindObjectT<TListItemText>('Text3');
textItem.Text := 'Item 1 Hallo 3';
item := ListView1.Items.Add;
textItem := item.Objects.FindObjectT<TListItemText>('Text1');
textItem.Text := 'Item 2 Hallo 1';
textItem := item.Objects.FindObjectT<TListItemText>('Text2');
textItem.Text := 'Item 2 Hallo 2';
textItem := item.Objects.FindObjectT<TListItemText>('Text3');
textItem.Text := 'Item 2 Hallo 3';
end;
2x Auslesen
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
for i := 0 to ListView1.Items.Count - 1 do
begin
ShowMessage(ListView1.Items[i].Objects.FindObjectT<TListItemText>('Text3').Text);
end;
end;
Delphi-Quellcode:
procedure TForm1.ListView1ItemClick(const Sender: TObject;
const AItem: TListViewItem);
begin
ShowMessage(AItem.Objects.FindObjectT<TListItemText>('Text3').Text);
end;