Как фильтровать результаты AutoCompleteTextView?

У меня есть AutoCompleteTextView, который использует курсор, который перемещается по моим контактам. Проблема в том, что он правильно заполняет раскрывающийся список, но не фильтрует результаты после того, как я набираю.

Вот мой код для курсора и настройки адаптера:

edt_Contact = (AutoCompleteTextView)findViewById(R.id.compose_edtContact);

cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
        new String[] {Phone._ID, Phone.DISPLAY_NAME, Phone.NUMBER}, 
        null,null,null);
startManagingCursor(cursor);
String[] from = new String[] { Phone.DISPLAY_NAME, Phone.NUMBER};
int[] to = new int[] { R.id.contact_name, R.id.contact_phoneNo};
adapter = new SimpleCursorAdapter(this, R.layout.simple_contact_textview, cursor, from, to);

edt_Contact.setAdapter(adapter);

А вот xml для simple_contact_textview:

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent" android:padding="5sp" android:paddingBottom="5sp" android:background="#FFFFFFFF">
    <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:id="@+id/contact_name" 
        android:textColor="#FF000000" 
        android:textSize="20sp" 
        android:text="Name">
    </TextView>
    <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:id="@+id/contact_phoneNo" 
        android:paddingLeft="10sp" 
        android:textColor="#FF000000" 
        android:textSize="20sp" 
        android:text="Number" 
        android:ellipsize="end">
    </TextView>
</LinearLayout>

Как мне отфильтровать раскрывающиеся результаты в зависимости от того, что вводит пользователь? Например, если пользователь начинает вводить «и», как появятся «Эндрю», «Энди» и «Мэнди»?

9
задан John Leehey 9 June 2011 в 23:40
поделиться