我一直在关注这里的教程。在高级教程中,ResourceSelectionHistory 存储选定的项目并在重新启动对话框时检索它。我希望 ResourceSelectionHistory 存储对象而不仅仅是字符串,有没有办法做到这一点。我还希望当用户单击它们时在编辑器中打开这些项目。当我单击实际填充列表中的一个项目时,它会打开,但当我单击显示历史记录的部分时不会。
提前致谢
是啊!
非常特定于此对话框,ResourceSelectionHistory
只能存储资源。IMemento
它使用该机制存储它们。可能您可以做您想做的唯一方法是复制该类 ( FilteredResourcesSelectionDialog
) 并按照自己的方式进行操作。如果您只遵循 API,这些对话框往往会非常严格。
您可以将字符串、整数和布尔值存储到IMemento
. 您可以巧妙地利用它们来揭示对象的类型。例如,element.putInteger("objType", 1);
如果您的对象是 A 类型,element.putInteger("objType", 2);
如果它是 B类型,则可以使用。