美文网首页Android 成长笔记
Android SearchView 使用示例

Android SearchView 使用示例

作者: 赵者也 | 来源:发表于2017-03-26 18:03 被阅读269次

布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorGray"
    android:orientation="vertical"
    >

    <SearchView
        android:id="@+id/searchView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />

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

</LinearLayout>

主程序文件

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版)》

相关文章

  • Android SearchView 使用示例

    布局文件: 主程序文件 测试程序的运行效果: 参考文献:《疯狂Android讲义(第2版)》

  • SearchView的用法(一)

    前言 今天来讲讲searchView的使用,这里讲的searchView是引用android.support.v7...

  • SearchView

    Android 搜索框:SearchView 的属性和用法详解MaterialDesign学习篇(五),使用Sea...

  • 搜索框(searchView)使用

    目录 searchView searchView是搜索框.提供搜索框的图形界面. 使用方式: searchView...

  • Android中SearchView的使用

    亲爱的同学们我又来了,搬好小板凳准备开车了。。。 不知道大家平时都用什么听音乐,我个人比较喜欢网易云音乐 (不是做...

  • Android--SearchView基本使用

    谷歌提供了搜索控件SearchView,在v7包中,我们可以在Toolbar的menu中定义它 在Activity...

  • Android 开发过程中发生的问题

    Android 开发过程中发生的问题 关于资源 menu 资源文件中,创建的 SearchView可能会无法使用,...

  • SearchView使用

    SearchView这个控件是经常用到的,用法也比较简单。 最简单的SearchView代码如下: 如图: 为了方...

  • Android UI--SearchView的使用

    1. 基本使用 1) 嵌入在菜单文件中 把searchView嵌入在菜单文件中是一种常见的操作方式。首先,你需要在...

  • WebView中的文件选择

    html示例 Android代码 参考:Android使用WebView加载网页选择文件上传[https://bl...

网友评论

    本文标题:Android SearchView 使用示例

    本文链接:https://www.haomeiwen.com/subject/runcottx.html