Android记事本在菜单栏添加搜索按钮方法
效果图
这个app结构和我之前将记事本开发的博客基本一致,我这里直接讲一下怎样添加
使用的开发软件为android studio
首先在res目录下新建文件夹menu,添加目录布局文件main_menu
之后在main_menu中添加如下代码
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"> <item
android:id="@+id/search"
android:icon="@drawable/ic_search_black_24dp"/这里设置图标,可以自由选择,我是在drawable下添加了放大镜的图标并在此引用
android:title="Search"
app:actionViewClass="android.widget.SearchView"
app:showAsAction="always"
></item>
</menu>
之后在Mainactivity中重写onCreateOptionsMenu(Menu menu)函数,监听等功能都在此实现
public boolean onCreateOptionsMenu(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(new SearchView.OnQueryTextListener(){
@Override
//当提交搜索框内容后执行的方法
public boolean onQueryTextSubmit(String query) {
return false;
} @Override
//当搜索框内内容改变时执行的方法
public boolean onQueryTextChange(String newText) {
refresh(newText);//数据更新函数,newText为获取到的搜索框中内容
return false;
}
});
return super.onCreateOptionsMenu(menu); }
更新函数
void refresh(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<Map<String,Object>> getdata(String key)
{List<Map<String,Object>>list=new ArrayList<Map<String,Object>>();
Map<String,Object> map=new HashMap<String,Object>(); 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<String,Object>();
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
Android记事本在菜单栏添加搜索按钮方法的更多相关文章
- android 监控软键盘确定 搜索 按钮并赋予点击事件
在android的实践开发中,为了界面的美观,往往那些搜索框并没有带搜索按钮,而是调用了软键盘的搜索按钮,完成这次时间 1 2 好吧!直接上代码! <EditText android:id=&q ...
- Android中通过ActionBar为标题栏添加搜索以及分享视窗
在Android3.0之后,Google对UI导航设计上进行了一系列的改革,其中有一个非常好用的新功能就是引入的ActionBar,他用于取代3.0之前的标题栏,并提供更为丰富的导航效果.Action ...
- UI自动化测试:App的WebView页面中,当搜索栏无搜索按钮时处理方法
一.遇到的问题 在做移动端的UI自动化测试时,经常会遇到上图所示的搜索框,这里有个麻烦就是搜索框没有"搜索"按钮,UI自动化测试时不能确认搜索. 要解决这个问题,我们可以通过 dr ...
- android studio 添加get,set方法快捷方式
android studio 添加get,set方法快捷方式
- destoon模块自定义字段的添加并让其支持搜索的方法
今天看了看模块设置里的自定义字段功能的用法,试着加了个新字段glry,设置了值,然后去数据库moduleid的article表看,字段成功加上了. 于是去template下article文件夹的lis ...
- WPF实用指南一:在WPF窗体的边框中添加搜索框和按钮
原文:WPF实用指南一:在WPF窗体的边框中添加搜索框和按钮 在边框中加入一些元素,在应用程序的界面设计中,已经开始流行起来.特别是在浏览器(Crome,IE,Firefox,Opera)中都有应用. ...
- MFC基于对话框风格按钮控件添加图片的方法(大神止步)
菜鸟还在研究这个东西,大神就不要看了.一直都在觉得用VC或VS建立的对话框总是全灰色感觉太单调了,如果可以在上面添加一些漂亮的图片就好了,今天终于实现了.其实挺简单的,下面就分几个步骤讲一下: 第一步 ...
- Android:认识R类、findViewById方法查找组件、@string查找字符、@color查找颜色、@drawable查找图片、@dimen某个组件尺寸定义、项目引入资源国际化
导入 之前都是断断续续的看了一些于如何使用android开发的文章.资料等,到目前位置很多基础的东西都不清楚,于是去学习了别人的课程,才了认识了R类.findViewById方法查找组件.项目引入资源 ...
- IOS第二天-新浪微博 - 添加搜索框,弹出下拉菜单 ,代理的使用 ,HWTabBar.h(自定义TabBar)
********HWDiscoverViewController.m(发现) - (void)viewDidLoad { [super viewDidLoad]; // 创建搜索框对象 HWSearc ...
随机推荐
- [python]getpass模块
python3的input函数不能隐藏用户输入,可以用getpass模块的getpass方法获取用户输入的时候用于隐藏显示密码. *需要注意的是该方法在IDE中看不到隐藏效果,在内置IDLE中会有Ge ...
- WeChall_Training: Crypto - Caesar I (Crypto, Training)
As on most challenge sites, there are some beginner cryptos, and often you get started with the good ...
- 2019ccpc哈尔滨打铜记
小学生日记: 2019.10.13,哈尔滨,打了个铜 开头 先说结论,这次失败,我的锅70%,sdl的锅5%,ykh25% Day0 周五, 我们队出现了奇怪的厄运上身 首先是我中途在飞机上数据线突然 ...
- postman之设置关联
接口关联(上一个接口的返回参数作为下一个接口的入参使用): 一:在第一个接口的test点击Response body:JSON value check和set an environment varia ...
- Lnmp环境源码包编辑安装
最近做了一个小工具可以方便的部署LNMP环境,有兴趣的同学可以尝试下: 这是一个集成的shell脚本,脚本将会自动安装好LNMP环境相关软件: 使用步骤 1.下载脚本源码到本地 git clone h ...
- qt creator源码全方面分析(2-10-1)
目录 Getting and Building Qt Creator 获取Qt 获取和构建Qt Creator Getting and Building Qt Creator 待办事项:应该对此进行扩 ...
- XLNet:运行机制及和Bert的异同比较
这两天,XLNet貌似也引起了NLP圈的极大关注,从实验数据看,在某些场景下,确实XLNet相对Bert有很大幅度的提升.就像我们之前说的,感觉Bert打开两阶段模式的魔法盒开关后,在这条路上,会有越 ...
- k8s系列---stateful(有状态应用副本集)控制器
http://blog.itpub.net/28916011/viewspace-2215046/ 在应用程序中,可以分为有状态应用和无状态应用. 无状态的应用更关注于群体,任何一个成员都可以被取代. ...
- 学习CSS之如何改变CSS伪元素的样式
一.CSS伪元素 CSS 伪元素用于向某些选择器设置特殊效果. 伪元素的用法如下: selector:pseudo-element {property:value;} CSS 类也可以和伪元素搭配使用 ...
- Shiro -- (三) 自定义Realm
简介: Realm:域,Shiro 从从 Realm 获取安全数据(如用户.角色.权限),就是说 SecurityManager 要验证用户身份,那么它需要从 Realm 获取相应的用户进行比较以确定 ...