2016-01-05 7 views
6

मुझे सर्च व्यू से एक टेक्स्ट प्राप्त करने की आवश्यकता है और इसकी गतिविधि की सूची दृश्य में तारों की तुलना करें और एक टोस्ट दिखाएं यदि सर्च व्यू में शब्द मेरी सूची दृश्य में है। मैं उसको कैसे करू?SearchView से टेक्स्ट कैसे प्राप्त करें?

MenuItem ourSearchItem = menu.findItem(R.id.menu_item_search); 

     SearchView sv = (SearchView) ourSearchItem.getActionView(); 

     sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() { 
      @Override 
      public boolean onQueryTextSubmit(String query) { 
       return false; 
      } 

      @Override 
      public boolean onQueryTextChange(String newText) { 

       adapter.getFilter().filter(newText); 
       } 
       return false; 
      } 
     }); 
+0

की संभावित डुप्लिकेट [कैसे TextView को SearchView से इनपुट प्राप्त करने के लिए] (http://stackoverflow.com/questions/20712247/how-to-get-input-from- सर्चव्यू-टू-टेक्स्टव्यू) – starkshang

उत्तर

16

SearchView की कसौटी पर प्राप्त करने के लिए, sv.getQuery() का उपयोग: यहाँ SearchView के लिए मेरे कार्य कोड है।

+0

धन्यवाद! मैं इसके बारे में सोच रहा था: अगर (Arrays.asList (सरणीसूची) .contains (sv.getQuery()) {// कुछ क्रियाएं करें} लेकिन यह काम नहीं करता है ( – androider

+0

मैं यह नहीं कह सकता कि ऐसा क्यों है क्योंकि मैंने नहीं किया अपना कोड देखें, लेकिन आप इसे डीबग कर सकते हैं, 'सरणीसूची' और 'Arrays.asList (सरणीसूची)' और 'sv.getQuery()' का प्रिंट मान, ध्यान दें कि सुनिश्चित करें कि आपकी क्वेरी स्ट्रिंग में स्पेस कैरेक्टर नहीं है, यदि ऐसा है , इसे हटाने के लिए 'trim()' का उपयोग करें। – starkshang

5

इस कोड का प्रयास करें:

MenuItem ourSearchItem = menu.findItem(R.id.menu_item_search); 

    SearchView sv = (SearchView) ourSearchItem.getActionView(); 

    sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() { 
     @Override 
     public boolean onQueryTextSubmit(String query) { 
      Toast.makeText(getContext(), query, Toast.LENGTH_SHORT).show(); 
      return true; 
     } 

     @Override 
     public boolean onQueryTextChange(String newText) { 

      adapter.getFilter().filter(newText); 
      } 
      return false; 
     } 
    }); 
संबंधित मुद्दे