Patriotic
Patriotic

Reputation: 2300

autocompletetextview and onitemclick

i have implement onitemclicklistener. i have 3 autocompletetextview. i want to get the id(the id which is used in xml file) from which autocompletetextview is clicked.i can solve this with implementing onitemselectedlistener and using spinner. but how can i solve it by implementing onitemclicklistener and autocompletetextview instead of spinner. plz help me... here is the correct code(onitemselectedlistener and spinner ) :

    public void onItemSelected(AdapterView<?> parent, View v, int position,long id) {
     Spinner spinner = (Spinner) parent;

     if (spinner.getId() == R.id.spinner_select_bus){
        //stuff
 }
 }

and here is my error code :

public void onItemClick(AdapterView<?> parent, View v, int position,long id) {
     AutoCompleteTextView actv = (AutoCompleteTextView) parent;
     if (actv.getId() == R.id.spinner_select_bus){
        //stuff
 }
 }

i know this is wrong approach because AdapterView cannot cast to AutoCompleteTextView. bt how to solve this......

Upvotes: 3

Views: 874

Answers (3)

IronBlossom
IronBlossom

Reputation: 3917

public void onItemClick(AdapterView<?> parent, View v, int position,long id) {
   if(parent.getAdpater()==yourAdapterInstance){
    }
 }

Upvotes: 1

yonojoy
yonojoy

Reputation: 5566

You can create an anonymous inner listener class which holds your whole onItemClick-code or you can create a listener class which modifies the onItemClick call in such a way, that the AutoCompleteTextView is passed to the onItemClick function.

E.g. your code could look like this:

acTextView1.setOnItemClickListener(
    new AutoCompleteTextViewClickListener(acTextView1, this));
acTextView2.setOnItemClickListener(
    new AutoCompleteTextViewClickListener(acTextView2, this));
acTextView3.setOnItemClickListener(
    new AutoCompleteTextViewClickListener(acTextView3, this));

and

public void onItemClick(AdapterView<?> parent, View v, int position,long id) {
     //v had been modified by AutoCompleteTextViewClickListener 
     //to contain the original AutoCompleteTextView
     AutoCompleteTextView actv = (AutoCompleteTextView) v;
     if (actv.getId() == R.id.actextview_select_bus){
        //stuff
     }
}

Here, you'll find the definition of AutoCompleteTextViewClickListener.

Upvotes: 1

Keith Aylwin
Keith Aylwin

Reputation: 516

Why don't you set an onClickListener to each of the AutoCompleteTextViews in your onCreate method?

Upvotes: -1

Related Questions