名前と番号を含む連絡先データが入力されたListViewでフィルタを使用しています。私はEditText
にテキストを入力するとき フィルタの連絡先の名前を削除してメールアドレスを削除する
adapter.getFilter().filter(s.toString())
1)になりますこれは、2つの問題を得た)私のコードで( 'AA'、後者
私は名前の開始を見ることができます'aa'(例:aakruti)からは と同じ時刻にメールアドレスを表示することができますが、これはフィルタが起動されたときに表示させるようにしています( )。
ここ2)私は携帯電話の作り付けの連絡先リストで後者の 'AA'()
を入力すると、私は名前が
aakruti例えば 'AA' から始まる見ることができますが、私は1つの名前すなわちSATYAが欠けている(これは後者に 'aa'を入力すると 検索で表示される)
runQueryOnBackgroundThread
StringBuilder buffer = null;
String[] args = null;
if (constraint != null) {
buffer = new StringBuilder();
buffer.append("UPPER(");
buffer.append(ContactsContract.Contacts.DISPLAY_NAME);
buffer.append(") GLOB ?");
args = new String[] { constraint.toString().toUpperCase() + "*" };
}
String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
System.out.println(buffer);
return mContent.query(
ContactsContract.Contacts.CONTENT_URI,
projection,
buffer == null ? null : buffer.toString(),
args,sortOrder
);
内の投影データ
public static String[] projection = new String[] {
ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME
};
EDIT
は、これまでのところ、私は
にアクセスしようとしました、私のフィルタクエリですContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME
ContactsContract.CommonDataKinds.StructuredName.MIDDLE_NAME
ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME
ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME
しかしGIVEN_NAMEが、それは例えばcontact name which has email address
を示しemail address
少数すぎても表示、
[email protected]
Raul Jakson (which only has email address no contact number)
Raul Jakson (i see this name twice as it has two different email address , but i wanna see it as name)
はそう誰もが、私は、電子メールアドレスを制限し、唯一持っているだけNAMESを表示することができますどのように私に言うことができます連絡先の電話番号?
メールアドレスの問題に関して、私はあなたが何か間違っているとは思わない。おそらく、Androidの連絡先と同じようなものでしょう。電子メールを本当に除外したい場合は、別の節をSQLに追加して、 'buffer.append(" AND "+" ContactsContracts.FAMILY_NAME + "NOT LIKE '%@%'); ' –
@ 1kaさて、私はアンドロイドで検索したところ、上記の繰り返しは「連絡先に登録」されているが連絡先リストにあるので、私はRaul Jaksonを連絡先のように1つのエンティティにすることができます – Hunt
連絡先ID(_ID)を含めて、コードまたはUNIQUE句を使用してフィルタリングしてみてください。 –