ios - 删除列表框中包含组标题的项目

标签 ios delphi listbox ios7 delphi-xe5

我正在使用在iOS应用程序上运行的Delphi XE5。我在使用以下示例从列表框删除所有项目时遇到了在我的应用程序中发生的访问冲突:

ListBox1.beginUpdate;
ListBox1.items.clear;
// do work, to re-add new data to list box
...
Listbox1.endUpdate;

通常,上面的代码可以正常工作,并且不会发生任何错误,实际上,当前所有项目都已从该列表框中删除。除了-我遇到访问冲突。与此TListBox相比,唯一的区别是它具有TListboxGroupHeaderItems。

我的解决方法是以下解决方案:
ListBox1.BeginUpdate;
p := Listbox1.Items.Count;
while p <> 0 do begin
  ListBox1.Items.Delete(p-1)
  p := p - 1;
end;
// Do Work, re-add new data, etc.
....
ListBox1.endUpdate;

有人知道在不触发访问冲突的情况下从TListbox清除所有项目(包括groupHeaders)的正确方法吗?还是我在做其他事吗?
在调试器中运行时,它确实在ListBox1.items.clear;上中断

更新(10/14/2013 2:14 PM):
在iOS 6设备/模拟器中工作时没有错误消息,但是在iOS7中工作时确实发生了错误

最佳答案

我有类似的问题。我的解决方案包括以下内容:

for I := Listbox1.Count -1 downto 0 do
begin
  Listbox1.RemoveObject(Listbox1.ListItems[i]);
end;

关于ios - 删除列表框中包含组标题的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19364934/

相关文章:

德尔福 DFM 未找到

delphi - 帮助洞察中的新行

c# - 我可以在非托管 Delphi EXE 中使用托管 C# DLL 吗?

c# - 为什么 Listbox DataTemplate 不使用 Windows.Resources 样式?

ios - API错误信息的国际化

ios - for 语句循环未按预期工作

ios - 在 iOS 上高效解析 HealthKit 的 HKSampleQuery 结果

ios - 点击imageview的动画,酷炫的小放大

c# - ASP.NET:列表框数据源和数据绑定(bind)

c# - 在列表框中搜索