首页 > 解决方案 > 访问 ListView 项目文本 (FMX)

问题描述

我有一个 TListView,当用户单击项目的图像(下图中的大绿点)时,我想复制项目文本(“russtest.cfg”)和子项目文本(“我的设备,1991”)以显示在 ShowMessage 中。我在 C++ Builder 中找不到如何操作,但此链接显示了在 Delphi 中的操作方法。

在此处输入图像描述

下面是我在 TListView 的ItemClickEx方法中尝试过的代码:

  TListItem* item;
  item = ListView1->Items->Item[ItemIndex];
  UnicodeString s;
  s = item->ToString();
  ShowMessage(s);

但它带回了这个:

在此处输入图像描述

编辑 1:添加了我用来填充 ListView 的代码:

    TListViewItem* item2Add = Form1->ListView1->Items->Add();
    Form1->ListView1->BeginUpdate();
    item2Add->Text = mystring3;     // e.g. "russtest.cfg"
    item2Add->Detail = mystring2;   // e.g. "My Device, 1991"
    item2Add->ImageIndex = 1;  // big green dot
    Form1->ListView1->EndUpdate();

标签: firemonkeyc++builder

解决方案


您需要对 to 进行类型转换TListItem*TListViewItem*然后您可以访问其Text属性:

TListViewItem* item = static_cast<TListViewItem*>(ListView1->Items->Item[ItemIndex]);
String s = item->Text;
ShowMessage(s);

推荐阅读