首页 > 其他分享 >Android开发_记事本(7)

Android开发_记事本(7)

时间:2023-04-10 23:47:15浏览次数:40  
标签:menu SearchView mSearchView Override 开发 newText Android public 记事本

搜索实现

搜索图标的添加

<item
    android:id="@+id/action_search"
    android:icon="?attr/menu_search"
    app:showAsAction="always"
    app:actionViewClass="androidx.appcompat.widget.SearchView"
    android:title="Search"
    />

drawable

添加一个search图标,命名为:

ic_search_black_24dp.xml

styles.xml

添加一句

<item name="menu_search">@drawable/ic_search_black_24dp</item>

搜索功能的实现

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main_menu,menu);//渲染一个menu获取一个对象
    MenuItem mSearch = menu.findItem(R.id.action_search);//定位
    SearchView mSearchView = (SearchView) mSearch.getActionView();//创建一个搜索界面
    mSearchView.setQueryHint("Search");//提示词(灰色透明字)
    mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {//对写入的内容进行监听
        @Override
        public boolean onQueryTextSubmit(String query) {
            return false;
        }

        @Override
        public boolean onQueryTextChange(String newText) {
            adapter.getFilter().filter(newText);    //Filter筛选器,按照newText搜索
            return false;
        }
    });

    return super.onCreateOptionsMenu(menu);
}

主要添加了这一段

MenuItem mSearch = menu.findItem(R.id.action_search);//定位
    SearchView mSearchView = (SearchView) mSearch.getActionView();//创建一个搜索界面
    mSearchView.setQueryHint("Search");//提示词(灰色透明字)
    mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {//对写入的内容进行监听
        @Override
        public boolean onQueryTextSubmit(String query) {
            return false;
        }   
@Override
    public boolean onQueryTextChange(String newText) {
        adapter.getFilter().filter(newText);    //Filter筛选器,按照newText搜索
        return false;
    }

效果:

标签:menu,SearchView,mSearchView,Override,开发,newText,Android,public,记事本
From: https://www.cnblogs.com/zsc02/p/17304743.html

相关文章

  • 前端工程化实战:React 的模块化开发、性能优化和组件化实践
    前端工程化实战是指通过组织工作流程、使用工具和技术来提高前端开发效率和质量的一种方法。常见的前端工程化实践包括模块化开发、自动化构建、代码检查和测试、性能优化等。下面将简要介绍模块化开发、性能优化和组件化实践。模块化开发在React中实现模块化开发的方式有两种:Com......
  • 敏捷开发 CICD 阿里云效 加 阿里云镜像仓库篇(一)
    一、前言之前这2篇都是利用Jenkins+Docker+Gitee去目标服务器构建镜像然后去发布业务系统。https://www.cnblogs.com/mangoubiubiu/p/17134059.htmlhttps://www.cnblogs.com/mangoubiubiu/p/17125069.html二、利用阿里云效+阿里云镜像仓库一键发布服务(包括中间件的初始化......
  • Android开发_记事本(6)
    删除键的功能实现删除当前笔记文件EditActivity中添加@OverridepublicbooleanonOptionsItemSelected(MenuItemitem){//监听状态栏上内容被点击switch(item.getItemId()){caseR.id.delete:newAlertDialog.Builder(EditActivity.this)/......
  • Android开发_记事本(3)
    适配器NoteAdapter相当于数据和ListView之间的中介 packagecom.example.note; ​ importandroid.content.Context; importandroid.content.SharedPreferences; importandroid.preference.PreferenceManager; importandroid.text.TextUtils; importandroid.view.Vie......
  • Android开发_记事本(4)
    BaseActivity用作大多数页面的父类 packagecom.example.note; ​ //用来当作大多是activity的superclass ​ ​ importstaticandroid.provider.ContactsContract.Intents.Insert.ACTION; ​ importandroid.app.StatusBarManager; importandroid.content.Broadcas......
  • Android开发_记事本(5)
    菜单栏在res目录下新建文件夹menu,并在该目录下新建main_menu.xml  若要在栏里面加图片则需要引入drawable中的东西新建矢量图菜单栏按钮    再新建主页面删除所有按钮和编辑界面的删除当前笔记的按钮  main_menu <?xmlversion="1.0"encoding="utf......
  • Qt for Android QtQuick应用程序 USB连接手机调试运行错误:adb: failed to *.apk: No s
    1.场景Windows11、Qt6.5.0QtQuick应用程序USB连接手机调试运行。2.错误信息adb:failedto*.apk:NosuchfileordirectoryInstallingtodevicefailed!进程"C:\Users\Administrator\Qt\6.5.0\mingw_64\bin\androiddeployqt.exe"退出,退出代码16。安装应用失败,发生未知错......
  • Android开发_记事本(2)数据库
    APP中的数据库知识点ListViewhttps://blog.csdn.net/indeedes/article/details/119530068开发过程需求可以写并保存多个输入的笔记内容按照一定顺序显示出来如果屏幕不够可以下拉输入的内容可以增删改查APP核心:ListViewListView简介在Android开发中,ListView是一个比......
  • Android开发_记事本(1)
    一些知识TextviewTextView中有下述几个属性:id:为TextView设置一个组件id,根据id,我们可以在Java代码中通过findViewById()的方法获取到该对象,然后进行相关属性的设置,又或者使用RelativeLayout时,参考组件用的也是id!layout_width:组件的宽度,一般写:wrap_content或者match_parent......
  • odoo 后台开发(问题)
    1.Views视图button按钮属性type:主要使用action和objectobject:指定name="模型函数"action:指定name="%(record的id)d"context:传入上下文参数,如设置context="{'active_id':id}"则可以在模型文件使用环境上下文获取传入的值active_id=self.env.cont......