連絡先の上に移動するカーソルを使用するように 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);
simple_contact_textview の xml は次のとおりです。
<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>
ユーザーの入力内容に基づいてドロップダウンの結果をフィルタリングするにはどうすればよいですか? たとえば、ユーザーが「and」と入力し始めた場合、「andrew」、「andy」、「mandy」を表示するにはどうすればよいでしょうか。