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

raghav chopra picture raghav chopra · Nov 29, 2012 · Viewed 17.3k times · Source

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.

Answer

Ram kiran picture Ram kiran · Nov 29, 2012

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
    }
});