效果图

这个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记事本在菜单栏添加搜索按钮方法相关推荐

  1. android自定义工具栏,Android工具栏中的自定义图标

    我正在使用支持工具栏中定义一个自定义图标,但唯一显示的图标是左箭头-我尝试以布局和编程方式设置它,但结果是一样的. 这是我的活动 public class MainActivity extends A ...

  2. android layout 工具栏,android - 滚动时CollapsingToolbarLayout并隐藏工具栏 - SO中文参考 - www.soinside.com...

    我正在尝试使用CoordinatorLayout和CollapsingToolbarLayout创建一些组合布局. 在第一个状态,当我们在最顶层的页面上,并且还没有滚动时,我希望工具栏如下所示(是的, ...

  3. android视图工具栏,Android studio预览视图工具栏不见了

    解决办法1: 查看 - >工具窗口 - >预览 解决办法2: 1.双击shift或者右上角的搜索图标 2.输入preview 3.单击该选项 搜索preview 观看previewtool ...

  4. 阅读 v2.19.071322 for Android 官方清爽版 + 众多书源 + 添加书源方法教程

    阅读这个名字真是太打大了,据说还是一款开源软件,如今的小说阅读软件总是在不断的添加广告,作为一个程序猿这是受不了的,,于是开源的阅读软件来,不用再担心广告,本软件fork一个开源的软件代码经过大量修改 ...

  5. 微信公众号自定义菜单栏添加历史消息方法(亲测有效)

    1.在浏览器中打开自己公众号的一篇推送,Ctrl+U查看网页源代码. 2.Ctrl+F搜索var biz,复制对应的代码 3.前面加上https://mp.weixin.qq.com/mp/profi ...

  6. 怎么快速搜索服务器里的文件,使用 Everything,快速搜索电脑文件,制作局域网资料搜索器 | 科技搜...

    所需工具:Everything 在 Windows 系统中,已经有自带的资源管理器文件查找功用,当然也有其他的一些软件辅佐查找,但是这些都不及一款软件,名字叫 Everything ,速度非常快,支持 ...

  7. android studio怎么添加按钮,Android Studio 工具栏添加常用按钮

    本文中 Android Studio 的版本为 android Studio 2.2 ,操作系统为 Windows,如有操作不同,可能是版本差异. 在工具栏中添加一些常用的按钮,如设置.DDMS,有利 ...

  8. android studio设置工具栏,Android Studio 工具栏添加图标

    本文中 Android Studio 的版本为 Android Studio 2.2 ,操做系统为 Windows,若有操做不一样,多是版本差别. 在工具栏中添加一些经常使用的图标有利于咱们开发,举例 ...

  9. Android中通过ActionBar为标题栏添加搜索以及分享视窗

    在Android3.0之后,Google对UI导航设计上进行了一系列的改革,其中有一个非常好用的新功能就是引入的ActionBar,他用于取代3.0之前的标题栏,并提供更为丰富的导航效果.Action ...

最新文章

  1. 白话spring依赖注入
  2. IOS7开发~API变化
  3. hdu 5384 Danganronpa(字典树)
  4. 阿里大数据分析与应用(part2)--大数据分析的流程与常用技术
  5. 关于有朋友询问,Spartacus,Fiori,SAP UI5这些术语的关系
  6. 化验室计算机系统验证风险评估,计算机化系统验证风险评估报告.doc
  7. 【JS复习笔记】00 序
  8. 以太坊白皮书_以太坊发展历程
  9. 解决ImageLoader加载HTTPS图片证书校验异常问题
  10. 计算机网络对等模式,计算机网络有两种常用的工作模式,它们是对等模式和客户/服务器模式。QQ聊天属于________模式。...
  11. 微软回应法国指责Win10过度收集隐私数据:将更新隐私声明
  12. linux常用命令行编辑快捷键
  13. Python基础-名片管理
  14. 软件开发模型之迭代模型
  15. 笔记本cpu天梯图2022
  16. 用计算机算出爸爸我爱你,爸爸,我爱你。
  17. 如何使用S32DS开发KEA系列的LIN功能(二)
  18. MySQL学习记录04where条件子句、联表查询、子查询
  19. 创建df的副本df2,其中df2为除了df最后一列之外的所有列;
  20. 间歇性断食是什么 间歇性断食法怎样吃

热门文章

  1. Android之自定义控件入门
  2. WordPress环境配置与安装
  3. mysql恢复主服务器_MySQL 5.6主从复制第二部分[恢复某一台从服务器]
  4. matlab 建立ctruct,扩频通信系统及MATLAB仿真1
  5. android 代码 升级rom,ROM之家简析:Android手机系统怎么升级
  6. C语言for循环的嵌套例题,c语言 for循环的嵌套(含答案)
  7. html项目列表页面源码,HTML 列表
  8. linux性能记录,Linux性能记录
  9. 重构,体现一个工程师的基本素养和底蕴
  10. c语言与python通信_C和Python – 与套接字通信