2012-11-29 19 views
14

से भरा एक AutoCompletetextview में आइटम की स्थिति मैं एक सरणी (array1 States साथ) और AutoCompleteTextview जिसमें मैं यह array1 साथ भरने कर रहा हूँ है लगाने के लिए कैसे। जब मैं AutocompleteTextView से मान का चयन मैं AutoCompleteTextView ड्रापडाउन से एक state चयनसरणी

क्या मैं चाहता हूँ array1 जो मैं चयन किया है से आइटम के स्थिति प्राप्त करने के लिए है।
मैंने जो कोशिश की है वह AutocompelteTextView है।

STATE.setOnItemClickListener(new OnItemClickListener(){ 

    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, long rowId) { 
     String selection = (String) parent.getItemAtPosition(position); 
     String num = selection; 
    } 
}); 

यह मेरे मूल्य जो मैं ड्रॉप-डाउन से चयनित देने एस एस लेकिन मैं position of the value में array1 प्राप्त करना चाहते हैं। उदाहरण के लिए मेरे पास आकार 4 की एक सरणी है, जैसे array1 = {ए, बी, सी, डी}, और यदि मैं बी का चयन करता हूं तो मुझे मुझे एआरई i.e में बी स्थिति वापस करनी चाहिए।

मुझे उम्मीद है कि मैंने इसे स्पष्ट कर दिया है। अग्रिम में धन्यवाद।

+0

आप onItemClick श्रोता में मूल्य के पद के लिए पूर्णांक स्थिति चर का उपयोग कर सकते हैं। –

+0

Item.setOnItemClickListener (नई AdapterView.OnItemClickListener() { @Override सार्वजनिक शून्य onItemClick (AdapterView माता पिता, देखें देखने के लिए, पूर्णांक स्थिति, लंबे आईडी) { //// आईडी इसमें आइटम है, तो डेटाबेस ItemNoSelected = आईडी से; } }); --- यहां आईडी डेटाबेस – Vijay

उत्तर

23

स्थितिonItemClick में परिवर्तनीय का उपयोग करें।

STATE.setOnItemClickListener(new OnItemClickListener(){ 

    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, long rowId) { 
     String selection = (String) parent.getItemAtPosition(position); 
     int pos = -1; 

     for (int i = 0; i < yourarray.length; i++) { 
      if (yourarray[i].equals(selection)) { 
       pos = i; 
       break; 
      } 
     } 
     System.out.println("Position " + pos); //check it now in Logcat 
    } 
}); 
+0

से आईडी है, यह मुझे सही स्थिति नहीं देता मैं ऐरे से वैरिएबल की स्थिति चाहता हूं लेकिन यह ऑटोकॉम्प्लेप्डड्रॉपडाउन से स्थिति देता है, मैं –

+0

@ राघवचोप्रा देखता हूं, संपादित उत्तर –

+0

देखें लेकिन क्या होगा ऐरे नहीं बल्कि इसके बजाय ArrayList

2

ऐरे के बजाय सूची का उपयोग करें। AutoCompleteTextView के लिए ItemClickListener पर लागू करें, फिर चयनित आइटम की अनुक्रमणिका ढूंढने के लिए अपनी सूची में 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
  @Override 
      public void onItemClick(AdapterView<?> parent, View view,int position, long id) 
      { 
       TextView txtvw=(TextView) view; 
       String str=txtvw.getText().toString(); 
       int index = contactNames.indexOf(str); 
      } 
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; 
       } 
      }); 

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