Android搜索框SearchView属性和用法详解

 更新时间:2021年06月23日 14:53:27   作者:Airsaid  
这篇文章主要为大家详细介绍了Android搜索框SearchView属性和用法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

SearchView简介

SearchView是Android原生的搜索框控件,它提供了一个用户界面,用于用户搜索查询。
SearchView默认是展示一个search的icon,点击icon展开搜索框,如果你想让搜索框默认就展开,可以通过setIconifiedByDefault(false);实现。

SearchView属性

SearchView使用

xml中定义SearchView:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:layout_margin="15dp"
 android:orientation="vertical"
 tools:context="com.airsaid.searchviewdemo.MainActivity">

 <SearchView
  android:id="@+id/searchView"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:iconifiedByDefault="false"
  android:queryHint="请输入搜索内容" />

 <ListView
  android:id="@+id/listView"
  android:layout_width="match_parent"
  android:layout_height="0dp"
  android:layout_weight="1" />
</LinearLayout>

Main代码:

public class MainActivity extends AppCompatActivity {

 private String[] mStrs = {"aaa", "bbb", "ccc", "airsaid"};
 private SearchView mSearchView;
 private ListView mListView;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  mSearchView = (SearchView) findViewById(R.id.searchView);
  mListView = (ListView) findViewById(R.id.listView);
  mListView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mStrs));
  mListView.setTextFilterEnabled(true);

  // 设置搜索文本监听
  mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
   // 当点击搜索按钮时触发该方法
   @Override
   public boolean onQueryTextSubmit(String query) {
    return false;
   }

   // 当搜索内容改变时触发该方法
   @Override
   public boolean onQueryTextChange(String newText) {
    if (!TextUtils.isEmpty(newText)){
     mListView.setFilterText(newText);
    }else{
     mListView.clearTextFilter();
    }
    return false;
   }
  });

 }
}

效果截图:

Demo下载:Android搜索框

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • kotlin浅析when与循环的使用

    kotlin浅析when与循环的使用

    这篇文章主要介绍了kotlin语言中when与循环的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • android Web跳转到app指定页面并传递参数实例

    android Web跳转到app指定页面并传递参数实例

    这篇文章主要介绍了android Web跳转到app指定页面并传递参数实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Android编程之通知栏的用法小结

    Android编程之通知栏的用法小结

    这篇文章主要介绍了Android编程之通知栏的用法,结合实例形式总结分析了Android通知栏的相关操作技巧,包括发送、删除通知、自定义布局等操作实现方法,需要的朋友可以参考下
    2017-01-01
  • Android 使用 okhttp3和retrofit2 进行单文件和多文件上传

    Android 使用 okhttp3和retrofit2 进行单文件和多文件上传

    这篇文章主要介绍了Android 使用 okhttp3和retrofit2 进行单文件和多文件上传,开发项目中需要进行单文件多文件的上传功能,下面演示的ApiResponse是自己分装的返回值,要根据自己的项目来完成,需要的朋友可以参考下
    2022-10-10
  • 详解Android内存泄露及优化方案

    详解Android内存泄露及优化方案

    这篇文章主要介绍了详解Android内存泄露及优化方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • Kotlin ContentProvider使用方法详解

    Kotlin ContentProvider使用方法详解

    ContentProvider内容提供者,主要用于再不同的应用程序之前实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另外一个程序的数据,同时还能保证数据的安全性
    2022-12-12
  • 一步步实现Viewpager卡片翻页效果

    一步步实现Viewpager卡片翻页效果

    一步步实现Viewpager卡片翻页效果,文章很精彩,实现步骤很详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • Android开发之AppWidget详解

    Android开发之AppWidget详解

    这篇文章主要介绍了Android开发之AppWidget详解,想了解桌面程序AppWidget的同学可以参考下
    2021-04-04
  • Android app启动节点与上报启动实例详解

    Android app启动节点与上报启动实例详解

    系统的启动过程非常复杂,下面这篇文章主要给大家介绍了关于Android app启动节点与上报启动的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • Android中给fragment写入参数的轻量开发包FragmentArgs简介

    Android中给fragment写入参数的轻量开发包FragmentArgs简介

    这篇文章主要介绍了Android中给fragment写入参数的轻量开发包FragmentArgs简介,需要的朋友可以参考下
    2014-10-10

最新评论