2012-06-06 9 views
6

क्या सीमा संख्या निर्धारित करने के लिए कोई एपीआई है। SearchView में वर्णों का?क्या हम Android में SearchView के संपादन में वर्ण की संख्या को सीमित कर सकते हैं?

+2

'Edittext' की XML विशेषता' एंड्रॉयड: maxLength = 15' केवल 15 चरित्र की अनुमति देगा। क्या आपको केवल इसकी आवश्यकता है? – Praveenkumar

+0

यह काम नहीं कर सकता ... 'SearchView'' EditText' का विस्तार नहीं करता है। मुझे पता है कि 'इनपुट टाइप' किसी कारण से 'सर्च व्यू' पर काम नहीं करता है। –

+0

@AlexLockwood मई मुझे पता है कि 'SearchView' क्या है' AutocomplteTextView' – Praveenkumar

उत्तर

-1
EditText et = new EditText(this); 
int maxLength = 3; 
InputFilter[] FilterArray = new InputFilter[1]; 
FilterArray[0] = new InputFilter.LengthFilter(maxLength); 
et.setFilters(FilterArray); 
+0

मैं सर्च व्यू के बारे में बात कर रहा हूं जहां हमें ऑनक्लोज़(), ऑनक्स्टटेक्स्ट चेंज (स्ट्रिंग न्यूटेक्स्ट) पर ओवरराइड करना होगा ,QueryTextSubmit (स्ट्रिंग क्वेरी) पर। –

-3

एक्सएमएल लेआउट में इस कोशिश ..

android:maxLength="20" //20 is number of characters. 

यह आपकी मदद कर सकता है ..

+0

क्या आपने यह देखा है [टिप्पणी] (http://stackoverflow.com/questions/10914539/can-we-limit-the-number-of-character-in-edittext-of-searchview-in-android#comment14233570_10914539) – Praveenkumar

+0

SearchView में वर्ण की लंबाई निर्धारित करने के लिए कुछ भी नहीं है। –

+0

खोज दृश्य में "maxLength" नहीं है –

3

उपयोग इस कोड को यह केवल यदि लंबाई कम या 5 के बराबर है खोज करना होगा। जब आप पाठ> 5 पर onQueryTextChange() से सत्य लौटने की तरह बदल सकते हैं।

final SearchView searchView = (SearchView) mSearchMenuItem.getActionView();  
      searchView.setSearchableInfo(searchManager.getSearchableInfo(mActivity.getSearchComponentName())); 
      searchView.setIconifiedByDefault(true); 
      searchView.setSubmitButtonEnabled(true); 
      searchView.setOnQueryTextListener(new OnQueryTextListener() { 

      @Override 
      public boolean onQueryTextSubmit(String arg0) { 
       // TODO Auto-generated method stub 
       return false; 
      } 

      @Override 
      public boolean onQueryTextChange(String arg0) { 
       if(arg0.length()>5){ 
        System.out.println("Text character is more than 5"); 
        searchView.setQuery(arg0.substring(0,5), false); 
       } 
       return false; 
      } 
     }); 
3
EditText et = (EditText)searchView.findViewById(searchView.getContext().getResources() 
      .getIdentifier("android:id/search_src_text", null, null)); 
    et.setFilters(new InputFilter[] { new InputFilter.LengthFilter({max_text_length}) }); 
5

मैं कोड स्निपेट निम्नलिखित का उपयोग कर रहा:

TextView et = (TextView) searchView.findViewById(R.id.search_src_text); 
     et.setFilters(new InputFilter[]{new InputFilter.LengthFilter(10)}); 
संबंधित मुद्दे