2017-09-06 4 views
11

एंड्रॉइड सर्च व्यू विजेट में जो यूआई प्रदान करता है। यह क्वेरी खोजेगा और एक खोज प्रदाता को अनुरोध सबमिट करेगा।एंड्रॉइड सर्च व्यू का खोज प्रकार क्या है?

BinarySearch तरह संग्रह द्वारा प्रदान की गई खोज क्वेरी के विभिन्न प्रकार के होते हैं ...

खोज क्वेरी किस तरह एंड्रॉयड विजेट SearchView द्वारा किया।?

(BinarySearch या LinerSearch या कुछ और ...)

+0

लागू करते हैं [यह] (एचटी) tps: //github.com/aosp-mirror/platform_frameworks_base/blob/master/core/java/android/widget/SearchView.java), अंततः ACTION_SEARCH के रूप में कार्रवाई के साथ एक इरादा उठाता है। अगर हम केवल यह पता लगा सकते हैं कि एंड्रॉइड ऐसे इरादे कैसे संभालता है। –

+1

@AmitBarjatya मुझे लगता है कि [इस अनुभाग] (https://developer.android.com/guide/topics/search/search-dialog.html#SearchableActivity) दस्तावेज़ीकरण का हो सकता है जो आप खोज रहे हैं। – Cheticamp

उत्तर

8

यह डेटा खोज करने के लिए और खोज विजेट के लिए परिणाम प्रदान करने के एप्लिकेशन डेवलपर पर निर्भर है। खोज विजेट ऐप के लिए अपनी खोज करने के लिए एक ढांचा प्रदान करता है लेकिन डेटा सीधे खोज नहीं करता है। Creating a Search Interface से:

अपने डेटा

भंडारण और खोज अपने डेटा आपके आवेदन के लिए अद्वितीय है की प्रक्रिया सर्च कर रहे हैं। आप अपने डेटा को कई तरीकों से स्टोर और खोज सकते हैं, लेकिन यह मार्गदर्शिका आपको यह नहीं दिखाती है कि अपना डेटा कैसे स्टोर करें और इसे कैसे खोजें। अपने डेटा को संग्रहीत करना और खोजना कुछ ऐसी चीज है जो आपको अपनी आवश्यकताओं और आपके डेटा प्रारूप के संदर्भ में सावधानी से विचार करनी चाहिए।

तो आप अपने डेटा को इस तरह से खोज सकते हैं कि डेटा को संग्रहीत और व्यवस्थित करने के तरीके के बारे में सबसे अधिक समझ में आता है।

5

यदि आप android.widget.SearchView के बारे में पूछते हैं, तो आप इंटरफ़ेस android.widget.SearchView.OnQueryTextListener को कार्यान्वित कर सकते हैं और जो कुछ भी आप चाहते हैं उसे कर सकते हैं।

public class MyActivity implements OnQueryTextListener{ 

    @Override 
    protected void onCreate(Bundle savedInstanceState){ 

     ... 

     SearchView s=new SearchView(this); 
     s.setFitsSystemWindows(true); 
     s.setMaxWidth(Integer.MAX_VALUE); 
     s.setIconifiedByDefault(false); 
     s.setOnQueryTextListener(this); // <--- this sets listener 

     ... 

    } 

दो विधियों और अब क्या आप को लागू करने के लिए है:

उदाहरण के लिए, की गतिविधि भाग के रूप में OnQueryTextListener बना सकते हैं

@Override 
    public boolean onQueryTextChange(String newText){ 
     return false; // <--- you can leave it empty! 
    } 

    @Override 
    public boolean onQueryTextSubmit(String query){ 
     if(!query.isEmpty()){ 
      do_something_on_user_post(); 
     } 
     return false; 
    } 
+0

मुझे पता है कि कैसे कार्यान्वित करें .. मैं सिर्फ खोज क्वेरी के प्रकार को जानना चाहता था। –

4

एक Android "विजेट" खोज करने के लिए है लेकिन डेटा को सीधे पर नहीं खोजता है, आप अपना खुद का खोज एल्गोरिदम

संबंधित मुद्दे