2017-02-14 6 views
0

나는 IsearchResult 개체를 가지고 있는데, 각 결과를 비교할 때 쓰루 (반복)해야합니다. 나는이 목록을 반복 neeed이클립스 검색 결과를 비교하기 위해 ISearchResult를 반복해야합니다.

and then I have this results' list

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

(그것은 ISearchResult 객체 INT 저장했다) 쿼리의 각 결과를 비교한다.

이 코드가 있습니다.

NewSearchUI.addQueryListener(new IQueryListener() { 

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

      } 

      @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()); 
       query.getSearchResult().addListener(new ISearchResultListener() { 

        @Override 
        public void searchResultChanged(SearchResultEvent e) { 
        } 
       }); 
      } 

      @Override 
      public void queryAdded(ISearchQuery query) { 
      } 

결과 목록을 반복하여 각 결과의 정보를 비교하거나 추출해야합니다.

+0

어디서 붙어 있습니까? – nitind

+0

각 검색 결과를 알기 위해 리스너와 함께 ISearchResult를 반복해야합니다. –

답변

1

결과를 반복 할 수 없습니다.

메서드를 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) { 
     } 
+0

메소드의 Java 검색을 수행하면 어떻게 결과 목록의 메소드 이름을 알 수 있습니까? –

+0

잘 모르겠다. 코드를 실행하고 얻은 것을 확인해야합니다. –

+0

그것은'org.eclipse.jdt.internal.ui.search.JavaSearchResult' 클래스의 객체를 반환하고 있습니다. 내가 어떻게 처리 할 수 ​​있니? –