android 搜索工具栏,Android记事本在菜单栏添加搜索按钮方法
效果圖
這個app結構和我之前將記事本開發的博客基本一致,我這里直接講一下怎樣添加
使用的開發軟件為android studio
首先在res目錄下新建文件夾menu,添加目錄布局文件main_menu
之后在main_menu中添加如下代碼
xmlns:app="http://schemas.android.com/apk/res-auto">
android:id="@+id/search"
android:icon="@drawable/ic_search_black_24dp"/這里設置圖標,可以自由選擇,我是在drawable下添加了放大鏡的圖標并在此引用
android:title="Search"
app:actionViewClass="android.widget.SearchView"
app:showAsAction="always"
>
之后在Mainactivity中重寫onCreateOptionsMenu(Menu menu)函數,監聽等功能都在此實現
public booleanonCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.main_menu,menu);
MenuItem search=menu.findItem(R.id.search);
SearchView mysearchview=(SearchView)search.getActionView();
mysearchview.setQueryHint("搜索");
mysearchview.setOnQueryTextListener(newSearchView.OnQueryTextListener(){
@Override
//當提交搜索框內容后執行的方法public booleanonQueryTextSubmit(String query) {return false;
}
@Override
//當搜索框內內容改變時執行的方法public booleanonQueryTextChange(String newText) {
refresh(newText);//數據更新函數,newText為獲取到的搜索框中內容return false;
}
});return super.onCreateOptionsMenu(menu);
}
更新函數
voidrefresh(String key)
{
SimpleAdapter adapter= new SimpleAdapter(this,MainActivity.this.mytable.getdata(key), R.layout.list
,new String[]{"id","text","time"},new int[]{R.id.id,R.id.text,R.id.time});
ListView listView=(ListView)findViewById(R.id.vi);
listView.setAdapter(adapter);
}
這里附上數據庫操作類中getdata()方法
public List>getdata(String key)
{List>list=new ArrayList>();
Map map=new HashMap();
String sql="SELECT id,text,time FROM "+TABLENAME+" WHERE text LIKE ‘%"+key+"%‘ OR time LIKE ‘%"+key+"%‘";
Cursor result=this.db.rawQuery(sql,null);for(result.moveToFirst();!result.isAfterLast();result.moveToNext())
{
map=new HashMap();
map.put("id",result.getInt(0));
map.put("text",result.getString(1));
map.put("time",result.getString(2));
list.add(map);
}return list;}
講得比較籠統,具體的文件結構還請參照我之前的隨筆https://www.cnblogs.com/liuleliu/p/12230819.html
原文:https://www.cnblogs.com/liuleliu/p/12256918.html
總結
以上是生活随笔為你收集整理的android 搜索工具栏,Android记事本在菜单栏添加搜索按钮方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python爬取pdf内容_python
- 下一篇: zabbix监控pppoe线路_Zabb