Filter(一)——设置SimpleAdapter的Filter从而过滤数据

MainActivity如下:

package ccc.testfilterofadapter;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.app.Activity;
/**
 * Demo描述:
 * 设置SimpleAdapter的Filter
 * 这样的局限性很大.
 * 对条件做复杂限制的应该定义Adapter且实现Filterable接口
 *
 * 参考资料:
 * 1 http://winuxxan.blog.51cto.com/2779763/509931
 * 2 http://www.cnblogs.com/over140/archive/2010/11/25/1887892.html
 *   Thank you very much
 */
public class MainActivity extends Activity {
    private ListView mListView;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		init();
	}

	private void init(){
		mListView=(ListView) findViewById(R.id.listView);
        List<HashMap<String, Object>> list=new ArrayList<HashMap<String,Object>>();
      	HashMap<String, Object> hashMap=null;
      	for (int i = 0; i < 5; i++) {
      		hashMap=new HashMap<String, Object>();
      		hashMap.put("name", "小明"+i);
          	hashMap.put("phone", "135"+i);
          	hashMap.put("amount","500"+i);
        	list.add(hashMap);
		}
      	for (int i = 0; i < 5; i++) {
      		hashMap=new HashMap<String, Object>();
      		hashMap.put("name", "小张"+i);
          	hashMap.put("phone", "138"+i);
          	hashMap.put("amount","700"+i);
        	list.add(hashMap);
		}

      SimpleAdapter adapter=new SimpleAdapter(this, list, R.layout.listviewitem,
      new String []{"name","phone","amount"}, new int[]{R.id.name,R.id.phone,R.id.amount});
      //为Adapter设置过滤条件
      adapter.getFilter().filter("小张");
      mListView.setAdapter(adapter);
	}
}

main.xml如下:

<RelativeLayout 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"
    >

    <ListView
        android:id="@+id/listView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_centerInParent="true" />

</RelativeLayout>

listviewitem如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="50dip"
    android:gravity="center"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/name"
        android:layout_width="100dip"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/phone"
        android:layout_width="150dip"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/amount"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</LinearLayout>
时间: 2024-08-29 04:51:36

Filter(一)——设置SimpleAdapter的Filter从而过滤数据的相关文章

《数据科学:R语言实现》——3.6 过滤数据

3.6 过滤数据 数据过滤对于希望分析部分数据而不是全部数据集的读者来说是最常见的需求.在数据库操作中,我们可以使用带有where语句的SQL命令获取数据子集.在R中,我们也可以使用方括号来执行过滤操作. 准备工作 按照3.3节"转换数据类型"教程,把导入数据的每个属性转换成合适的数据类型.同时按照3.2节"重命名数据变量"中的步骤,命名employees和salaries数据集的列名. 实现步骤 执行下列步骤,过滤数据. 1.首先,使用head和tail获取emp

JAVAEE Filter 过滤器设置是否缓存实例详解_java

在网页中,每次的客户端访问服务器,有部分不用重复请求,如有些图片,视频等就没有必要每次都请求,这样会让服务器增大工作量.为了防止这样,我们采用过滤器来设置客户端是都缓存. 页面的缓存与不缓存设置及html页面中meta的作用 HTTP1.1中启用Cache-Control 来控制页面的缓存与否,这里介绍几个常用的参数: no-cache,浏览器和缓存服务器都不应该缓存页面信息: public,浏览器和缓存服务器都可以缓存页面信息: no-store,请求和响应的信息都不应该被存储在对方的磁盘系统

Filter(三)——Android利用Filterable接口过滤数据

MainActivity如下: package cc.testfilterable; import java.util.ArrayList; import java.util.HashMap; import android.os.Bundle; import android.widget.ListView; import android.app.Activity; import android.content.Context; /** * Demo描述: * 利用Filter过滤数据 * 可用于

openFileDialog的Filter属性设置

OpenFileDialog对话框的Filter属性说明:          首先说明一个示例,分析一下Filter属性的构成:" Excel文件|*.xls ",前面的"Excel文件"成为标签,是一个可读的字符串,可以自定定义,"|*.xls"是筛选器,表示筛选文件夹中后缀名为.xls的文件,"*"表示匹配Excel文件名称的字符串.          OK,下面说说我们经常要用到的几种情况: 1.  Filter是nul

ASP.NET MVC入门 10、Action Filter与内置的Filter实现(实例-防盗链)

前一篇中我们已经了解了Action Filter与内置的Filter实现,现在我们就来 写一个实例.就写一个防盗链的Filter吧. 首先继承自FilterAttribute 类同时实现IActionFilter接口,代码如下: /**//// <summary>/// 防盗链Filter./// </summary>public class AntiOutSiteLinkAttribute : ActionFilterAttribute, IActionFilter{ publi

在Wireshark中过滤数据包

介绍 数据包过滤可让你专注于你感兴趣的确定数据集.如你所见,Wireshark 默认会抓取所有数据包.这可能会妨碍你寻找具体的数据. Wireshark 提供了两个功能强大的过滤工具,让你简单而无痛地获得精确的数据. Wireshark 可以通过两种方式过滤数据包.它可以通过只收集某些数据包来过滤,或者在抓取数据包后进行过滤.当然,这些可以彼此结合使用,并且它们各自的用处取决于收集的数据和信息的多少. 布尔表达式和比较运算符 Wireshark 有很多很棒的内置过滤器.当开始输入任何一个过滤器字

ASP.NET 4过滤数据新控件QueryExtender

在ASP.NET 4中的一个新的控件是QueryExtender.QueryExtender控件是为了简化LinqDatasource或EntityDataSource控件返回的数据过滤而设计的,它主要是将过滤数据的逻辑从数据控件中分离出来.使用QueryExtender是十分容易的事,只需要简单往页面上增加一个QueryExtender控件,指定其数据源是哪个控件并设置过滤条件就可以了.比如,当在页面中显示产品的信息时,你可以使用该控件去显示那些在某个价格范围的产品,也可以搜索用户指定名称的产

一起谈.NET技术,ASP.NET 4过滤数据新控件QueryExtender

在ASP.NET 4中的一个新的控件是QueryExtender.QueryExtender控件是为了简化LinqDatasource或EntityDataSource控件返回的数据过滤而设计的,它主要是将过滤数据的逻辑从数据控件中分离出来.使用QueryExtender是十分容易的事,只需要简单往页面上增加一个QueryExtender控件,指定其数据源是哪个控件并设置过滤条件就可以了.比如,当在页面中显示产品的信息时,你可以使用该控件去显示那些在某个价格范围的产品,也可以搜索用户指定名称的产

教你如何使用SQL Server来过滤数据

关系型数据通常以规范化形式保存,就是说你应该尽可能少地重复数据:通常情况下,表与表之间仅通过各种键值实现关联.进一步地讲,规范化的含义就是:你不能在数据库中保存计算后的值,而你只能在需要的时候临时计算数据库中保存的值. 对数据进行某些分析通常是很重要的.比方说,你或许想知道哪些产品的定单最多或者哪些定单的利润最大.这些问题都要求你针对自己的SQL语句创建执行过滤规则的公式.其中最重要的语句之一就是GROUP BY子句. Northwind数据库中的定单 Northwind数据库是包含在SQL S