listView filter过滤

本文通过实例演示了如何在ListView中实现filter过滤功能,分别展示了使用ArrayAdapter和BaseAdapter的情况,提供相关Java代码示例,并提供了Demo下载链接。
摘要由CSDN通过智能技术生成

先看例子演示:

第一个是arrayAdapter,第二个是baseAdapter



部分java代码:

package mm.shandong.com.testbaseadapterfilter;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;


import java.util.ArrayList;
import java.util.List;

import mm.shandong.com.testbaseadapterfilter.adapter.BaseAdapterFilter;
import mm.shandong.com.testbaseadapterfilter.entity.Person;

public class TestBaseAdapterFilterActivity extends AppCo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ListView过滤是指通过关键字来筛选和显示特定的数据项。在ListView中实现过滤功能的关键在于使用Filter类和重写相应的方法。其中performFiltering方法用于根据过滤的关键字设置自定义的过滤规则,而publishResults方法则用于接受performFiltering方法返回的结果,并根据该结果决定是否更新ListView的数据。同时,可以使用ListView的setFilterText方法设置过滤关键字来实现搜索功能,或者使用clearTextFilter方法清除过滤效果。根据外部输入数据的变化来设置ListView的关键字过滤或者清除其过滤。 具体实现过程中,可以通过重写Filter类的filter方法来实现过滤功能,该方法接收一个CharSequence类型的参数constraint,即过滤的关键字。通过对数据集进行遍历,根据关键字对数据进行匹配筛选,然后返回过滤后的结果。在ListView中使用搜索过滤功能时,可以通过以下步骤进行操作:首先,获取ListViewFilter对象,可以通过((Filterable) mAdapter).getFilter()方法来获取;然后,调用filter方法,并传入过滤关键字,即可实现搜索过滤功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [ListView过滤搜索功能源码分析](https://blog.csdn.net/nzsdyun123/article/details/52317268)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值