相关文章推荐
乐观的小刀  ·  uniapp顶部导航栏自定义以及状态栏 - ...·  2 月前    · 
温暖的酱牛肉  ·  试探长沙文旅元宇宙发展瓶颈及提升路径 - ...·  7 月前    · 
忧郁的作业本  ·  Edge ...·  8 月前    · 
奔放的熊猫  ·  野地里爱爱好舒服好%E 搜尋結果 - ...·  1 年前    · 
玉树临风的领带  ·  长安启源定位家庭用车_搜狐汽车_搜狐网·  1 年前    · 
健身的钥匙  ·  同为aPaaS平台,华为云开天aPaaS与A ...·  1 年前    · 
Code  ›  Android使用EditText+Listview实现搜索效果(使用room模糊查询)_android实现list集合数据可搜索和模糊搜索
android开发 list android框架 自定义view
https://blog.csdn.net/qq_42761395/article/details/123725492
追风的花生
1 年前
  • 系列文章目录
  • 前言
  • 一、room的模糊查询语句
  • 二、布局的简单美化
    • 1.Listview去除item间的分割线和滑动的光标
    • 2.EditText去除下划线并为键盘回车事件设置一些属性
  • 三、EditText对应的回车事件获取
  • 四、博主相关文章
    • Listview
    • 关于动态搜索
    • 关于room

    Room中使用||来代替+号,如下方代码

        //查询某项的全部数据
        @Query("SELECT * FROM 表名 WHERE 某一项 LIKE '%' || :name || '%'")
        List<User> getSubjectForSchool(String name);
    

    二、布局的简单美化

    1.Listview去除item间的分割线和滑动的光标

        android:divider="@null"
        android:scrollbars="none"
    

    2.EditText去除下划线并为键盘回车事件设置一些属性

        android:background="@null"
        android:imeOptions="actionSearch"
        android:singleLine="true"
        android:maxLines="1"
    

    三、EditText对应的回车事件获取

           edittext.setOnEditorActionListener(new TextView.OnEditorActionListener() {
                @Override
                public boolean onEditorAction(final TextView v, int actionId, KeyEvent event) {
                    if(actionId == EditorInfo.IME_ACTION_SEARCH){
                      //进行数据库查询操作
                    return false; }
            });
    

    博主的查询操作逻辑代码大概如下

    //如果actionId是搜索的id,则进行下一步的操作
                        if (v.getText().toString().trim()==""){ //获取输入的文字
                            //相应操作
                        }else{
                          //本人的rxjva工具类
                            RxJavaUtils.executeAsyncTask(new RxAsyncTask<Object, Object>("") {
                                @Override
                                public Object doInIOThread(Object o) {
                                    data = UserDatabase.xxxxxxxx ; //在子线程中进行数据模糊查询,如果数据量过大建议设置懒加载(分页查询)。
                                    return null;
                                @Override
                                public void doInUIThread(Object o) {
                                //刷新适配器
                                 myadapter.notifyDataSetChanged();
                            });
    

    四、博主相关文章

    Listview

    ListView的setEmptyView方法
    关于Adapter.notifyDataSetChanged()无效
    ListView的简单优化

    关于动态搜索

    Android动态搜索的简单实现

    关于room

    Android常用的room增删改查语句(外部数据库)

    降筛选后的数据重新放入一个list List<Object> dataInfo = new ArrayList<>(); Integer depar_id = data.getInt("departmentId"); if(depar_id!=null){ String idStr = ","+depar_id+","; String departmentIdNew = if (“vnd.android.cursor.item/name”.equals(mimeType)) { // 是姓名} else if (“vnd.android.cursor.item/email_v2”.equals(mimeType)) { // 邮箱if (!} else if (“vnd.android.cursor.item/phone_v2”.equals(mimeType)) { // 手机。 android 仿微信demo————微信启动页实现 android 仿微信demo————注册功能实现(移动端) android 仿微信demo————注册功能实现(服务端) android 仿微信demo————登录功能实现(移动端) android 仿微信demo————登录功能实现(服务端) android 仿微信demo————微信主界面功能实现 android 仿微信demo————微信消息界面功能实现(移动端) android 仿微信demo————微信消息界面功能实现(服务端) Android 搜索框架提供了搜索弹窗和搜索控件两种使用方式。搜索弹窗:系统控制的弹窗,激活后显示在页面顶部,输入的内容提交后会通过Intent传递到指定的搜索Activity中处理,可以添加搜索建议。搜索控件(SearchView):系统实现的搜索控件,可以放在任意位置(可以与Toolbar结合使用),默认情况下与EditText类似,需要自己添加监听处理用户输入的数据,通过配置可以达到与搜索弹窗一致的行为。 很多开发场景会用到搜索框实时模糊搜索来帮助用户输入内容,如图 思路是在EditText 字符变动的时候 弹出ListPopupwindow并更新列表,这样的做法google已经封装为AutoCompleteTextView mAutoCompleteTextView.setAdapter(adapter); mAutoCompleteTextView.setFocusable(true); mAutoCompleteTextView.setOnItemClickListener(new AdapterView.OnItemClickListe Android输入框实时模糊搜索很多开发场景会用到搜索框实时模糊搜索来帮助用户输入内容,如图思路是在EditText 字符变动的时候 弹出ListPopupwindow并更新列表,这样的做法google已经封装为AutoCompleteTextView用法mAutoCompleteTextView.setAdapter(adapter);mAutoCompleteTextView.setFocus... 这里实现的是搜索框时时查询,代码中是在数据库中使用的模糊查询; 整个布局使用的是线性布局,搜索框又是一个线性布局(里面包含一个相对布局和一个TextView,相对布局里面有一个EditText和ImageVIew),下面是一个ListView; 搜索框其实就是一个EditText,背景是用shape自己画出来的;上面放一个“删除”的图片; 在Activity中给EditText设置一 这是一个比较基础的实现吧,还不会这个实现的学Android的朋友可以去看看,如果觉得有用的可以去送颗小星星。另外,需要全套Android学习资料的朋友可以进我的 GitHub:https://github.com/xieyuliang/Note-Android这里说一下怎么利用 Android 的 AutoCompleteTextView 控件实现模糊搜索功能,AutoCompleteTextVi... 这是一个仿支付宝自定义软键盘的demo,分别为身份证号码、支付金额、支付密码输入定制的软键盘,以及EditText文本输入框与密码输入框的定制。先上效果图:  一 身份证键盘1 身份证键盘在MainActivity页面,使用时再布局中添加配置 android:id="@+id/indentity_card" android:layout_width="match_parent... 下面,将根据功能需求给出特定的技术解决方案下面将给出详细的功能逻辑分析1:EditText_Clear.javapublic class EditText_Clear extends android.support.v7.widget.AppCompatEditText { /**public EditText_Clear(Context context) { super(context); init(); // 初始化该组件时,对EditText_Clear进行初始化 ->>步骤2 }public Edi
 
推荐文章
乐观的小刀  ·  uniapp顶部导航栏自定义以及状态栏 - 伊人兮明眸秋水
2 月前
温暖的酱牛肉  ·  试探长沙文旅元宇宙发展瓶颈及提升路径 - 长沙晚报网
7 月前
忧郁的作业本  ·  Edge 无法翻译此页面_edge浏览器翻译失败解决办法-CSDN博客
8 月前
奔放的熊猫  ·  野地里爱爱好舒服好%E 搜尋結果 - 教育百科 | 教育雲線上字典
1 年前
玉树临风的领带  ·  长安启源定位家庭用车_搜狐汽车_搜狐网
1 年前
健身的钥匙  ·  同为aPaaS平台,华为云开天aPaaS与AppCube有何不同?-36Kr企服点评
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号