This code: ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, COUNTRIES);
Be carefully, if you use autocomplete in Dialog, you should passing Context as 1st arg of constructor, ArrayAdapter<T>(Context, R.layout.list_item, COUNTRIES)() Please read Java Code Style, How did you compile your code, your class name is wrong (quickfind --> Quickfind). On 11 Сер, 14:58, titleist <[email protected]> wrote: > Hi, > I'm having problem with creating AutocompleteTextView in custom > dialog. In every example i saw, the autocomplete feature is only in > the classes that extends activity. I need to have autocomplete in > custom dialog that I created. The problem is that this: > > AutoCompleteTextView textView = (AutoCompleteTextView) > findViewById(R.id.autocomplete_country); > ArrayAdapter<String> adapter = new > ArrayAdapter<String>(this, > R.layout.list_item, COUNTRIES); > textView.setAdapter(adapter); > > should be in onCreate method that I don't have. > The errors are: > > Multiple markers at this line > - COUNTRIES cannot be resolved to a variable > - The constructor ArrayAdapter<String>(quickfind, int, String[]) is > undefined > > My entire code for quickfind.java: > > import android.R.string; > import android.app.Dialog; > import android.content.Context; > import android.os.Bundle; > import android.view.View; > import android.view.Window; > import android.view.View.OnClickListener; > import android.widget.ArrayAdapter; > > /** Class Must extends with Dialog */ > /** Implement onClickListener to dismiss dialog when OK Button is > pressed */ > public class quickfind extends Dialog implements OnClickListener { > Button okButton; > > public quickfind(Context context) { > super(context); > /** 'Window.FEATURE_NO_TITLE' - Used to hide the title */ > requestWindowFeature(Window.FEATURE_NO_TITLE); > /** Design the dialog in main.xml file */ > setContentView(R.layout.quickfind); > okButton = (Button) findViewById(R.id.close); > okButton.setOnClickListener(this); > > AutoCompleteTextView textView = (AutoCompleteTextView) > findViewById(R.id.autocomplete_country); > ArrayAdapter<String> adapter = new > ArrayAdapter<String>(this, > R.layout.list_item, COUNTRIES); > textView.setAdapter(adapter); > > } > > static final String[] COUNTRIES = new String[] { > "Afghanistan", "Albania", "Algeria", "American Samoa", > "Andorra", > "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", > "Argentina", > "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan", > "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium" > }; > > @Override > public void onClick(View v) { > /** When OK Button is clicked, dismiss the dialog */ > if (v == okButton) > dismiss(); > } > > } > > quickfind.xml: > > <?xml version="1.0" encoding="utf-8"?> > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/ > android" > android:orientation="vertical" > android:layout_width="fill_parent" > android:layout_height="fill_parent" > > > > > <TextView > android:layout_width="wrap_content" > android:layout_height="wrap_content" > android:text="Vpišite iskani niz:" /> > <AutoCompleteTextView android:id="@+id/autocomplete_country" > android:layout_width="fill_parent" > android:layout_height="wrap_content" > android:layout_marginLeft="5dp"/> > > <Button android:id="@+id/close" > android:layout_width="150px" > android:layout_height="wrap_content" > android:layout_alignParentBottom="true" > android:text="@string/title_close" > android:layout_marginTop = "50px" > android:layout_gravity ="center" > /> > </LinearLayout> > > and list_item.xml: > > <?xml version="1.0" encoding="utf-8"?> > <TextView xmlns:android="http://schemas.android.com/apk/res/android" > android:layout_width="fill_parent" > android:layout_height="fill_parent" > android:padding="10dp" > android:textSize="16sp" > android:textColor="#000"> > </TextView> > > Later, when the errors are gone, the countries list will be replaced > with data from json webservice. I'm a beginner in java.. > > P.S. > Sorry for mistakes in my English > > Regards, > Tadej -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

