2012-11-20 10 views
10
AutoCompleteTextView mActv = (AutoCompleteTextView) findViewbyId(R.id.m_actv); 
ArrayAdapter<String> AutoCompleteAdapter = new ArrayAdapter<String>(this, 
        R.layout.dropdown_text, Names); 
mActv.setAdapter(AutoCompleteAdapter); 

नाम में चयनित पाठ की सूचकांक पाने के लिए एक स्ट्रिंग सरणी है।कैसे एक AutoCompleteTextView

क्या ड्रॉपडाउन से चयनित पाठ के अनुक्रमणिका प्राप्त करना संभव है ??

धन्यवाद।

+0

आप एक समाधान पाते हैं? – Accollativo

+1

http://stackoverflow.com/questions/4819813/how-to-get-text-from-autocomplete-textview-android –

+0

पर एक नज़र डालने का प्रयास करें समाधान: http://stackoverflow.com/questions/4819813/how -to-get-text-from-autocomplete-textview-android/37343444 # 37343444 – Shivang

उत्तर

5

AutoCompleteTextView#getListSelection() आज़माएं।

+5

यह हमेशा ** - 1 ** देता है। आपके द्वारा प्रदान किए गए लिंक में दिए गए अनुसार ** ListView.INVALID_POSITION ** कौन सा है। –

+0

यह काम करता है जबकि ड्रॉपडाउन सूची खुली है, हालांकि आप ऑटोकंपलेटटेक्स्टव्यू के इनपुट के आधार पर सूची (और सूचकांक के लिए) में परिवर्तन के बाद से एक मुश्किल सवाल पूछ रहे हैं ... यदि 'नाम' एक 'सूची ' है तो आप ' इंडेक्सऑफ() 'को चुनने के बाद स्ट्रिंग की स्थिति ढूंढने के लिए। – Sam

5

सीधे शब्दों में OnItemClickListener या OnItemSelectedListener (क्लिक किया आइटम के लिए) (क ट्रैकबॉल का उपयोग कर selcted मदों के लिए, ऊपर/नीचे कुंजियों) AutoCompleteTextView

mActv.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> parent, View arg1, int pos, 
       long id) { 
       String item = arg1.getItemAtPosition(pos); 
       //your stuff 
      } 
    }); 
+7

हाँ। यह पहली बात है जिसकी मैंने कोशिश की थी। लेकिन यहां यह ** ड्रॉपडाउन ** से चुने गए पाठ की ** स्थिति ** प्रदान करता है, न कि मैं ऐरे से स्ट्रिंग की अनुक्रमणिका नहीं करता हूं :( –

+0

क्या ऑर्डर समान नहीं है? मेरा मतलब है ऐरे और ड्रॉपडाउन में जो सूची आती है? –

+0

लेकिन शुरुआती कुछ ** अक्षरों ** के आधार पर, मैं टाइप करता हूं, ड्रॉपडाउन परिवर्तन (ऑटोकंपलेटटेक्स्ट व्यू का अपेक्षित व्यवहार)। –

2

में जोड़ने के लिए लागू onItemClickListener AutoCompleteTextView के लिए है, तो लगता है अपनी सूची पर indexOf का उपयोग चयनित आइटम की अनुक्रमणिका।

actvCity.setOnItemClickListener(new OnItemClickListener() { 

    @Override 
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
      long arg3) { 
      int index = cityNames.indexOf(actvCity.getText().toString()); 
      // Do Whatever you want to do ;) 
    } 
}); 
+0

AutoCompleteTextView पर कोई अनुक्रमणिकाऑफ विधि नहीं है! – aidinMC

0
Item.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
       @Override 
       public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
        //// id contains item if from database 
        ItemNoSelected = id; 
       } 
      }); 

आईडी डेटाबेस से है कि हम इसे उपयोग कर सकते हैं

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