2017-02-14 3 views
0

J'ai un objet IsearchResult que j'ai besoin de parcourir (itérer) afin de comparer chaque résultat.Je dois passer (itérer) ISearchResult afin de comparer les résultats de la recherche eclipse

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

and then I have this results' list

Je neeed itérer sur cette liste (il était l'objet magasin int ISearchResult) et comparer chaque résultat de la requête.

J'ai ce code. J'ai besoin d'itérer sur la liste des résultats et de comparer ou d'extraire des informations de chaque résultat.

+0

Où êtes-vous bloqués? – nitind

+0

J'ai besoin d'itérer ISearchResult avec l'écouteur afin de connaître chaque résultat –

Répondre

1

Vous ne pouvez pas itérer sur les résultats.

Vous devez ajouter le ISearchResultListener dans la méthode queryStarting et enregistrer les résultats tels qu'ils vous sont donnés dans l'appel 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

si je fais une recherche java de méthodes comment puis-je connaître le nom des méthodes dans la liste de résultats? –

+0

Aucune idée. Vous allez devoir exécuter le code et voir ce que vous obtenez. –

+0

retourne un objet de la classe 'org.eclipse.jdt.internal.ui.search.JavaSearchResult'. comment puis-je le gérer? –