Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to find the position of item in a AutoCompletetextview filled with Array

Tags:

I have an array (array1 with States) and AutoCompleteTextview in which I'm filling it with array1. When I select the value from AutocompleteTextView I select a state from AutoCompleteTextView Dropdown

What I want is to get the position of the item from array1 which I've selected.
What I've tried is OnClickEvent of 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;     } }); 

It ss giving me the value which I selected from dropdown but i want to get the position of the value in array1. For Example I have an array of size 4, like array1 = {A,B,C,D}, and if I select B it should return me B position in Array i.e 2.

I hope I made it clear. Thanks in advance.

like image 636
raghav chopra Avatar asked Nov 29 '12 08:11

raghav chopra


People also ask

How to get position of selected item in AutoCompleteTextView?

Implement onItemClickListener for AutoCompleteTextView, then use indexOf on your list to find the index of selected item.

How do you get the ID of the selected item of the AutoCompleteTextView in Android?

Just call your adapter. getItem(position) and you will get the output you want. For example skillLevelAdapter. getItem(position).

What is AutoCompleteTextView?

An editable text view that shows completion suggestions automatically while the user is typing. The list of suggestions is displayed in a drop down menu from which the user can choose an item to replace the content of the edit box with.


2 Answers

Use the position variable in the 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     } }); 
like image 66
Ram kiran Pachigolla Avatar answered Oct 07 '22 11:10

Ram kiran Pachigolla


Use List instead of Array. Implement onItemClickListener for AutoCompleteTextView, then use indexOf on your list to find the index of selected item.

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 ;)      } }); 
like image 20
SANAT Avatar answered Oct 07 '22 11:10

SANAT