2019-03-18 14:56:48 2609瀏覽
今天扣丁學(xué)堂Android培訓(xùn)老師給大家分享一篇Android開發(fā)之搜索框SearchView用法,結(jié)合實(shí)例形式分析了Android搜索框SearchView的基本功能、用法及相關(guān)操作注意事項(xiàng)。效果:
private final String[] mStrings = {"我愛Java","安卓無敵","好好學(xué)習(xí)"}; final ArrayAdapter adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,mStrings); listView.setAdapter(adapter);
listView.setOnItemClickListener(new ListView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Object string = adapter.getItem(position); searchView.setQuery(string.toString(),true); } });
@Override public boolean onQueryTextChange(String newText) { //如果newText長(zhǎng)度不為0 if (TextUtils.isEmpty(newText)){ listView.clearTextFilter(); }else{ listView.setFilterText(newText); //adapter.getFilter().filter(newText.toString());//替換成本句后消失黑框?。?! } return true; }
public class MainActivity extends Activity { private SearchView searchView; private ListView listView; //定義自動(dòng)完成的列表 private final String[] mStrings = {"我愛Java","安卓無敵","好好學(xué)習(xí)"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView) findViewById(R.id.lv); final ArrayAdapter adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,mStrings); listView.setAdapter(adapter); //為L(zhǎng)istView啟動(dòng)過濾 listView.setTextFilterEnabled(true); searchView = (SearchView) findViewById(R.id.sv); //設(shè)置SearchView自動(dòng)縮小為圖標(biāo) searchView.setIconifiedByDefault(false);//設(shè)為true則搜索欄 縮小成俄日一個(gè)圖標(biāo)點(diǎn)擊展開 //設(shè)置該SearchView顯示搜索按鈕 searchView.setSubmitButtonEnabled(true); //設(shè)置默認(rèn)提示文字 searchView.setQueryHint("輸入您想查找的內(nèi)容"); //配置監(jiān)聽器 searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { //點(diǎn)擊搜索按鈕時(shí)觸發(fā) @Override public boolean onQueryTextSubmit(String query) { //此處添加查詢開始后的具體時(shí)間和方法 Toast.makeText(MainActivity.this,"you choose:" + query,Toast.LENGTH_SHORT).show(); return false; } @Override public boolean onQueryTextChange(String newText) { //如果newText長(zhǎng)度不為0 if (TextUtils.isEmpty(newText)){ listView.clearTextFilter(); }else{ listView.setFilterText(newText); // adapter.getFilter().filter(newText.toString());//替換成本句后消失黑框!?。? } return true; } }); listView.setOnItemClickListener(new ListView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Object string = adapter.getItem(position); searchView.setQuery(string.toString(),true); } }); } }
<?xml version="1.0" encoding="utf-8" ?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <!--定義一個(gè)SearchView--> <SearchView android:id="@+id/sv" android:layout_width="match_parent" android:layout_height="wrap_content"/> <!--定義自動(dòng)完成的ListView--> <ListView android:id="@+id/lv" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"/> </LinearLayout>
【關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料】
查看更多關(guān)于“Android開發(fā)技術(shù)”的相關(guān)資訊>>