[英]How can I get the items from a ListView and convert these items to an ArrayList?
[英]How i can filter ListView items ?
我正在嘗試使用SearchView
過濾ListView
項目。
這是我的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
進行過濾
假設您要檢索包含您在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
更改文本時,請不要忘記通知適配器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.