我需要经历(迭代)ISearchResult以便比较eclipse搜索的结果

时间:2017-02-14 22:10:50

标签: eclipse eclipse-plugin eclipse-rcp eclipse-pde

我有一个pip install对象我需要通过(迭代)来比较每个结果。

e.g. I look for (ctrl+H) add method.

and then I have this results' list

我需要迭代这个列表(它是IsearchResult对象的存储)并比较查询的每个结果。

我有这段代码。

ISearchResult

我需要遍历结果列表并比较或提取每个结果的信息。

1 个答案:

答案 0 :(得分:1)

你不能迭代结果。

您必须在ISearchResultListener方法中添加queryStarting并保存searchResultChanged来电中给您的结果。

NewSearchUI.addQueryListener(new IQueryListener() {

        @Override
        public void queryStarting(ISearchQuery query) {
            System.out.println("query start " + query);

            // Starting listening to the search query

            query.getSearchResult().addListener(new ISearchResultListener() {

                @Override
                public void searchResultChanged(SearchResultEvent e) {
                   // TODO save the results as they appear
                }
            });

        }

        @Override
        public void queryRemoved(ISearchQuery query) {
        }

        @Override
        public void queryFinished(ISearchQuery query) {
            System.out.println("query finished " + query);
            System.out.println("result " + query.getSearchResult().getLabel());
        }

        @Override
        public void queryAdded(ISearchQuery query) {
        }