运行效果图
自己的学习过程,记录一下以备后查:
1 package com.sane.activity; 2 3 import com.sane.androidsearchviewdemo.R; 4 5 import android.app.Activity; 6 import android.content.Context; 7 import android.database.Cursor; 8 import android.os.Bundle; 9 import android.provider.Contacts.People; 10 import android.provider.ContactsContract.Contacts; 11 import android.provider.ContactsContract.PhoneLookup; 12 import android.util.AttributeSet; 13 import android.util.Log; 14 import android.view.View; 15 import android.view.ViewGroup; 16 import android.view.Window; 17 import android.widget.ArrayAdapter; 18 import android.widget.CursorAdapter; 19 import android.widget.ListAdapter; 20 import android.widget.ListView; 21 import android.widget.SearchView; 22 import android.widget.SearchView.OnQueryTextListener; 23 import android.widget.SimpleCursorAdapter; 24 25 public class ArrayAdapterActivity extends Activity{ 26 27 private static final String[]books={"Java程序员职场全攻略","Java SE6.0编程指南","30学通Java Web项目案例开发","30天精通Java项目案例开发","Android核心技术与实例详解","Android2.0游戏开发宝典"}; 28 private SearchView mSearchView; 29 private ListView mListView; 30 @Override 31 protected void onCreate(Bundle savedInstanceState) { 32 super.onCreate(savedInstanceState); 33 setTheme(R.style.AppTheme); 34 setContentView(R.layout.searchview_layout); 35 mSearchView=(SearchView) findViewById(R.id.search_view); 36 mListView=(ListView) findViewById(R.id.list_view); 37 mListView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,books)); 38 mListView.setTextFilterEnabled(true); 39 mSearchView.setIconifiedByDefault(false); 40 mSearchView.setOnQueryTextListener(new QueryTextChangeListener()); 41 42 43 } 44 45 46 class QueryTextChangeListener implements OnQueryTextListener{ 47 48 @Override 49 public boolean onQueryTextChange(String newText) { 50 mListView.setFilterText(newText); 51 if (newText.isEmpty()) { 52 mListView.clearTextFilter(); 53 } 54 return false; 55 } 56 57 @Override 58 public boolean onQueryTextSubmit(String query) { 59 60 return false; 61 } 62 63 } 64 65 }
页面布局代码:
1 <?xml version="1.0" encoding="utf-8"?> 2 android:layout_width="match_parent" 3 android:layout_height="match_parent" 4 android:orientation="vertical" > 5 6 7 <SearchView 8 android:id="@+id/search_view" 9 android:layout_width="wrap_content" 10 android:layout_height="wrap_content" 11 > 12 13 </SearchView> 14 <ListView 15 android:id="@+id/list_view" 16 android:layout_width="match_parent" 17 android:layout_height="match_parent" 18 android:layout_weight="1" 19 ></ListView> 20 21 </LinearLayout>
----------------------------------完--------------------------------------