SearchView的功能以及用法

使用SearchView,可以让用户在文本框内输入文字,并允许通过监听器监控用户的输入,当用户输入完成后提交搜索时,也可以通过监听器执行实际的搜索。


使用SearchView时可使用如下常用方法:
1.setIconifiedByDefault(boolean iconified):设置该搜索框默认是否自动缩小为图标。
2.setSubmitButtonEnabled(boolean enabled):设置是否显示搜索按钮。
3.setQueryHint(CharSequence hint):设置搜索框内默认显示的提示文本。
4.setOnQueryTextListener(SearchView.OnQueryTextListener listener):为该搜索框设置事件监听器。
如果为SearchView增加一个配套的ListView,则可以为SearchView增加自动完成的功能。如下实例示范了SearchView的功能与用法:


### 实例:搜索

在layout下的activitymain.xml下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".Main4Activity">
<!--    定义SearchView组件--><SearchViewandroid:id="@+id/search"android:layout_width="wrap_content"android:layout_height="wrap_content"/>
<!--    为SearchView定义自动完成的ListView组件--><ListViewandroid:id="@+id/list"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"/></LinearLayout>

在MainActivity.java下:

package com.example.test04;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.text.TextUtils;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SearchView;
import android.widget.Toast;public class Main4Activity extends AppCompatActivity {//    自动完成列表private String[] strings = new String[]{"111","222","333"};private ListView list;private SearchView search;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main4);list=findViewById(R.id.list);search=findViewById(R.id.search);list.setAdapter(new ArrayAdapter(this,android.R.layout.simple_list_item_1,strings));
//        设置ListView启动过滤list.setTextFilterEnabled(true);
//        设置该SearchView默认是否自动缩小为图标search.setIconifiedByDefault(false);
//        设置该SearchView显示搜索图标search.setSubmitButtonEnabled(true);
//        设置该SearchView内默认显示的搜索文字search.setQueryHint("查找");
//        为SearchView组件设置事件的监听器search.setOnQueryTextListener(new SearchView.OnQueryTextListener() {//            单击搜索按钮时激发该方法@Overridepublic boolean onQueryTextSubmit(String query) {//                实际应用中应该在该方法内执行实际查询
//                此处仅使用Toast显示用户输入的查询内容Toast.makeText(Main4Activity.this,"您选择的是:"+query,Toast.LENGTH_SHORT).show();return false;}
//            用户输入时激发该方法@Overridepublic boolean onQueryTextChange(String newText) {//                如果newText不是长度为0的字符串if (TextUtils.isEmpty(newText)){//                    清除ListView的过滤list.clearTextFilter();}else {//                    使用用户输入的内容对ListView的列表项进行过滤list.setFilterText(newText);}return true;}});}
}

最后,如果喜欢这篇文章的小伙伴点赞加关注哦,爱点赞的人运气永远都不会太差。

SearchView搜索框的功能与用法相关推荐

  1. Android开源实战:SearchView搜索框(含历史搜索记录)

    前言 Android开发中,类似下图的搜索功能非常常见 搜索功能 今天,我将手把手教大家实现一款 封装了 历史搜索记录功能 & 样式 的Android 自定义搜索框 开源库,希望你们会喜欢. ...

  2. 站长工具|百度搜索框提示功能

    百度向站长开放免费"百度搜索框"代码和"百度搜索框提示"代码.只需进行简单的设置, 即可将" 百度搜索框( 带提示功能)"功能快速加入到您的 ...

  3. java搜索页面历史记录,使用JS location实现搜索框历史记录功能

    首先,来看下效果图(样式什么的就不必吐槽了哈) html代码 搜索记录: //用于保存记录信息 css代码 * { margin: 0; padding: 0; } input { border: 0 ...

  4. java searchview_Android SearchView搜索框组件的使用方法

    SearchView是搜索框组件,它可以让用户在文本框里输入文字,通过监听器取得用户的输入,当用户点击搜索时,监听器执行实际的搜索. 本文就为大家分享了SearchView搜索框组件的使用方法,供大家 ...

  5. Android SearchView 搜索框

    如果对这个效果感觉不错, 请往下看. 背景: 天气预报app, 本地数据库存储70个大中城市的基本信息, 根据用户输入的或通过搜索框选取的城市, 点击查询按钮后, 异步请求国家气象局数据, 得到返回的 ...

  6. ajax实现搜索提示源码,Jquery实现搜索框提示功能示例代码

    博客的前某一篇文章中http://www.jb51.net/article/35175.htm写过一个用Ajax来实现一个文本框输入的提示功能.最近在一个管理项目的项目中,使用后发现,真的反应很慢,数 ...

  7. jquery 搜索框的功能实现

    http://www.cnblogs.com/linjiqin/archive/2011/03/18/1988464.html jquery搜索框功能的实现, 1.输入关键字,展示匹配的下拉列表 2. ...

  8. 原生JavaScript实战之搜索框筛选功能

    成品图如下所示: 先搭建HTML结构: 1 <div class="wrapper"> 2 <div class="sWrapper"> ...

  9. JavaScript 实现搜索框联想功能

    基础 HTML 代码 实例 <!-- autocomplete="off" 确保表单已关闭自动填充功能: --> <form autocomplete=" ...

最新文章

  1. 如何在UIAlertView中显示进度条
  2. BERT在文档级排序中的应用
  3. C#动态生成html页
  4. Struts2运行机制(MVC)的分析:
  5. 【机器视觉】 endwhile算子
  6. 编写下载服务器。 第一部分:始终流式传输,永远不要完全保留在内存中
  7. uva 10163——Storage Keepers
  8. python代码安全性问题_这个python代码对注入安全吗?
  9. 首发骁龙898!小米12系列屏幕方案曝光:双曲面屏+全新封装工艺
  10. java List和数组转换
  11. python与冒泡排序
  12. windows 7 安装 db2 v11.1 下载 安装教程
  13. C++题解:矩阵快速幂 求 斐波那契数列
  14. 如何将win7电脑变身WIFI热点,让手机、笔记本共享上网?
  15. Android开发提供两个图片和视频的测试url
  16. Linux DRM(一)Display Server
  17. J-Flash下载程序
  18. 智能家居DIY之智能吸顶灯
  19. 【Mo 人工智能技术博客】StarGAN——生成你的明星脸
  20. CMOS带反馈反相器二阶系统分析

热门文章

  1. java版Spring Cloud+SpringBoot+mybatis+uniapp b2b2c 多商户入驻商城 直播 电子商务之全渠道数据库高可用
  2. springboot 集成百度编辑器ueditor
  3. MLK | 模型评估的一些事
  4. MLK | 机器学习采样方法大全
  5. Git - 什么是 CRLF 和 LF
  6. 基于javaweb的养老院管理系统(java+ssm+jsp+easyui+mysql)
  7. 国内有哪些大型的药物筛选中心?
  8. 看病要排队 HDU - 1873 题解
  9. Android带分隔符的输入手机号码的EditText
  10. python提供了两种基本的数值类型_6.Python基础语法---02基础数据类型