Note that there are some explanatory texts on larger screens.

plurals
  1. POAutocomplete items disappearing
    primarykey
    data
    text
    <p>I have a strange problem regarding suggestion items for an AutocompleteView on Android 2.2. I am using a custom ArrayAdapter and Filter class implementation.</p> <p>When I type into the AutocompleteView the suggestion drop-down pops up after entering two characters as shown in the following screenshot:</p> <p><img src="https://i.stack.imgur.com/PfePj.png" alt="enter image description here"></p> <p>When I enter a third character the drop-down disappears:</p> <p><img src="https://i.stack.imgur.com/4Xpj6.png" alt="enter image description here"></p> <p>After entering a fourth character the suggestion drop-down is displayed again:</p> <p><img src="https://i.stack.imgur.com/lWBAc.png" alt="enter image description here"></p> <p>I don't understand why the drop-down disappears when an uneven amount of characters is entered. </p> <p>While debugging I noticed that getView() is called twice when an even amount of characters is entered, but ony once for an uneven amount. Might this be the reason for the faulty behavior?</p> <p>Here is my source code:</p> <pre><code>public class AutoCompleteActivity extends Activity { protected AutoCompleteTextView autoCompleteView; protected AutoCompleteAdapter suggsAdapter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.autocomp); autoCompleteView = (AutoCompleteTextView) findViewById(R.id.autocomplete); autoCompleteView.setAdapter(new AutoCompleteAdapter(this, android.R.layout.simple_dropdown_item_1line, new String[1])); } private class AutoCompleteAdapter extends ArrayAdapter implements Filterable { protected LayoutInflater mInflater; protected Filter filter; public AutoCompleteAdapter(Context context, int textViewResourceId, String[] items) { super(context, textViewResourceId, items); filter = new SuggestionsFilter(); mInflater = LayoutInflater.from(context); } @Override public View getView(int position, View convertView, ViewGroup parent) { View v = convertView; if (v == null) { v = mInflater.inflate(android.R.layout.simple_dropdown_item_1line, parent, false); } TextView tt = (TextView) v.findViewById(android.R.id.text1); tt.setText("Suggestion item"); return v; } public Filter getFilter() { return filter; } private class SuggestionsFilter extends Filter { @Override protected FilterResults performFiltering(CharSequence constraint) { return null; } @Override protected void publishResults(CharSequence constraint, FilterResults results) { notifyDataSetChanged(); } } } </code></pre> <p>}</p> <p>...and my layout file:</p> <pre><code>&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" &gt; &lt;!-- Pretty hint text, and maxLines --&gt; &lt;AutoCompleteTextView android:id="@+id/autocomplete" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="text" android:maxLines="1" android:imeOptions="actionSearch" android:layout_toLeftOf="@+id/spinner" /&gt; </code></pre> <p></p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload