布局文件:

<?xml version="1.0" encoding="utf-8"?>        

主程序文件

package com.toby.personal.testlistview;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.SearchView;import android.text.TextUtils;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.Toast;public class MainActivity extends AppCompatActivity implements SearchView.OnQueryTextListener {    final private static String TAG = "Toby_Test";    private ListView listView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        final String[] mString = {"test aaa", "test bbb", "test ccc"};        listView = (ListView) findViewById(R.id.listView);        listView.setAdapter(new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, mString));        listView.setTextFilterEnabled(true);        listView.setVisibility(View.GONE);        final SearchView searchView = (SearchView) findViewById(R.id.searchView);        searchView.setIconifiedByDefault(false); // 是否缩小为图标        searchView.setOnQueryTextListener(this); // 注册事件监听器        searchView.setSubmitButtonEnabled(true); // 显示搜索按钮        searchView.setQueryHint("Find"); // 默认显示的提示文本    }    @Override    public boolean onQueryTextSubmit(String query) {        Toast.makeText(this, R.string.show, Toast.LENGTH_SHORT).show();        return false;    }    @Override    public boolean onQueryTextChange(String newText) {        if (TextUtils.isEmpty(newText)) {            listView.setVisibility(View.GONE);            listView.clearTextFilter(); // 清除 ListView 的过滤        } else {            listView.setFilterText(newText); // 使用用户输入的内容对 ListView 列表项进行过滤            listView.setVisibility(View.VISIBLE);        }        return true;    }}

测试程序的运行效果:

显示效果

参考文献:《疯狂Android讲义(第2版)》

更多相关文章

  1. Android实现手势检测
  2. android GridView的应用举例
  3. Android中的人机交互技术
  4. Qt for Android程序沉浸式启动页面(去除标题栏、去除黑屏、保留后
  5. 扩大攻击层面:React Native Android应用程序
  6. 为何Android普通APP可以执行私有数据中的so文件,而system app却不
  7. [置顶] Android无线开发的几种常用技术(阿里巴巴资深工程师原创
  8. Android使用Socket(Tcp/Udp)协议进行数据传输(传输大文件)
  9. Maven系列 7.文档和报告

随机推荐

  1. Android(安卓)MedaiPlayer类的简单介绍
  2. android实现事件监听的2种常用方式
  3. Android(安卓)Thread/Runnable/Handler用
  4. Android实现计时以及倒计时的几种方法
  5. 日积月累--android基础知识日记
  6. android 6.0 创建文件或文件夹失败
  7. google地图demo
  8. Android(安卓)GridView 例子
  9. android中的ListView的使用方法
  10. Android(安卓)drawable 三角形