如何更改 run-time 处的 FMX ListBoxGroupHeader 文本

How to change FMX ListBoxGroupHeader text at run-time

使用 FMX、XE8。

我正在研究如何在 运行 时间更改 TListBoxGroupHeader 的文本。

我有一个 TListBox,我在其中(在设计时)添加了一个 TListBoxGroupHeader 作为第一项。

列表框中有许多额外的项目(每个项目都有控件 - 我希望在设计时添加这些)。

在 运行 时,我想更改 ListBoxGroup 的文本Header - 我不知道该怎么做。

我试过:

 ListBoxGroupHeader1.Text:='new text';    
 ListBox1.ListItems[0].Text:='new text';    
 TListBoxGroupHeader(ListBox1.ListItems[0]).Text:='new text';    
 TListBoxGroupHeader(ListBox1.ListItems[0]).ItemData.Text:='new text';

文本没有任何变化。

或者更确切地说,文本数据已更改,但不会更改列表框中的组 Header。也就是说,如果我在表单上放置一个标签并执行以下操作: lbl1.Text:=lst1.ListItems[0].文本; 然后 lbl1 显示 'new text'.

这是一个错误还是我遗漏了什么?

TIA。

EdB

使用 Delphi XE8 更新 1 进行测试。

我和你有同样的问题。我做了以下解决方法:

var
  Form1: TForm1;
  ListBoxGroupHeader1: TListBoxGroupHeader;

implementation

{$R *.fmx}

procedure TForm1.Button1Click(Sender: TObject);
begin
  ListBoxGroupHeader1 := TListBoxGroupHeader.Create(ListBox1);
  ListBoxGroupHeader1.Visible := False;
  ListBoxGroupHeader1.Parent := ListBox1;
  ListBoxGroupHeader1.Visible := True;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  ListBoxGroupHeader1.Text := DateTimeToStr(Now);
end;