首页 > 解决方案 > ComboEdit - 如何在 Popup 事件上刷​​新项目?

问题描述

我在 Android 上遇到了 ComboEdit 的问题。我需要在 OnPopup 事件中将项目添加到 ComboEdit.Items,但我的项目在第二次显示弹出窗口后可见。如何在 OnPopup 事件中刷新 Items?

procedure TForm1.ComboEditPopup(Sender: TObject);
begin
    ComboEdit1.Items.Add('MyItem'); // this item will by visible at next popup
end;

我想要实现的目标:项目:'Aaa'、'Bla'、'Ble'、'Dee'。用户写“Bl”。当他按下 Popup 时,ComboEdit 将向他显示项目:'Bla'、'Ble'。

我目前的代码:

ComboEdit : TComboEdit;
Items : TStringList; // around 1000 strings

    procedure TForm1.ComboEdit1Typing(Sender: TObject);
    var 
        i : integer;
    begin
        ComboEdit.BeginUpdate;

        ComboEdit.Items.Clear;
        for i := 0 to Items.Count-1 do
          if AnsiStartsText(ComboEdit.Text,Items[i]) then
            ComboEdit.Items.Add(Items[i]);

        Items.EndUpdate;
    end;

标签: androiddelphipopupfiremonkey

解决方案


推荐阅读