我正在尝试使用ListView
过滤SearchView
个项目。
这是我的XML代码。 :
<ListView
android:layout_width="fill_parent"
android:layout_height="200dp"
android:id="@android:id/list"
android:choiceMode="none"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/searchView"
style="@style/CodeFont">
</ListView>
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/scrollView"
android:layout_above="@android:id/list"
android:layout_alignParentEnd="true"
android:layout_toEndOf="@android:id/list" />
<SearchView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/searchView"
android:hint="Search contact.."
android:layout_alignParentStart="true"
android:layout_alignEnd="@android:id/list"
/>
这是我的java代码
ListView lv = (ListView) findViewById(android.R.id.list);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String poiName = ((TextView)(view.findViewById(android.R.id.text1))).getText().toString();
Intent intent = new Intent(MainActivity.this, Message.class);
intent.putExtra("name",poiName);
startActivity(intent);
}
});
Cursor =getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,null,null,null);
startManagingCursor(Cursor);
String[] from = {ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,ContactsContract.CommonDataKinds.Phone.NUMBER,ContactsContract.CommonDataKinds.Phone._ID};
int [] to ={android.R.id.text1,android.R.id.text2};
final SimpleCursorAdapter listadapter = new SimpleCursorAdapter(this,android.R.layout.simple_list_item_2,Cursor,from,to);
setListAdapter(listadapter);
list=getListView();
list.setChoiceMode(ListView.CHOICE_MODE_NONE);
ListView
正在显示用户手机中的所有联系人。
我想使用SearchView
答案 0 :(得分:0)
假设您要检索包含您在SearchView
中输入的内容的所有数字,并按升序显示。这可以通过以下方式实现:
String query = searchView.getQuery().toString();
Cursor cursor = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
TextUtils.isEmpty(query) ? null : ContactsContract.CommonDataKinds.Phone.NUMBER + " LIKE ?",
TextUtils.isEmpty(query) ? null : new String[] {query},
TextUtils.isEmpty(query) ? null : ContactsContract.CommonDataKinds.Phone.NUMBER + " ASC"
);
每当您更改SearchView
中的文字时,请不要忘记通知您的适配器。