2012-07-10 58 views
1

我有一个过滤的内容选择对话框,并在视图菜单我有 复选框,增加了一个额外的过滤器。它的功能应与“打开资源选择对话框”CTRL + SHIFT + R“的”显示派生资源“复选框完全相同。 我想让对话框清空它的内容并重新调用'fillContentProvider()'。FilteredItemsSelectionDialog - 刷新内容提供商

有没有什么办法来强制对话框称之为“fillContentProvider()。”

我已经试过了“刷新()”方法,但它并没有我所需要的。

回答

1

首先你必须扩展ViewerFilter类,称之为MyViewerFilter并在乘坐方法选择(),以满足我们的需要。

第二:在动作呼叫addListFilter(过滤器)的run()方法;其中filter是typeMyViewerFilter的对象,而不是调用scheduleRefresh();

这样做会在每次点击复选框时更新内容提供者。

+1

谢谢ge33ek,解决了我的问题 – shiyamhoda 2012-07-26 10:43:33

+0

谢谢你,帮助我 – coolguy 2016-08-22 04:16:03

1

我认为refresh()方法做你想做的。

+0

不幸的是,它不。 – shiyamhoda 2012-07-12 14:34:13

+0

我在action()中调用applyFilter()。然后applyFilter调用addElements(),然后它调用refresh()。我究竟做错了什么。我听起来很愚蠢,我必须承认我是一个完整的初学者。 – shiyamhoda 2012-07-13 11:48:12