企业网站运维网站设计素材模板
news/
2025/9/24 6:14:11/
文章来源:
企业网站运维,网站设计素材模板,广西安策企业管理咨询有限公司,网页制作教程免费视频一、结构public abstract class Filter extends Objectjava.lang.Objectandroid.widget.Filter二、概述过滤器通过过滤模式来约束数据#xff0c;通常由实现了Filterable接口的子类来生成。 过滤操作是通过调用filter(CharSequence)或者filter(CharSequence, android.widget.F…一、结构public abstract class Filter extends Objectjava.lang.Objectandroid.widget.Filter二、概述过滤器通过过滤模式来约束数据通常由实现了Filterable接口的子类来生成。 过滤操作是通过调用filter(CharSequence)或者filter(CharSequence, android.widget.Filter.FilterListener)这些异步方法来完成的。以上方法一旦被调用过滤请求就会被递交到请求队列中等待处理同时该操作会取消那些之前递交的但是还没有被处理的请求。三、构造函数public Filter ()创建一个新的异步过滤器。四、公共方法public CharSequence convertResultToString (Object resultValue)将受过滤的集合对象转换成CharSequence文本。所有继承了Filter的子类应该重写该方法。该方法的默认实现如果参数为null则返回空字符串或者返回参数的字符串形式.参数resultValue转换成CharSequence文本的对象返回值CharSequence文本public final void filter(CharSequence constraint, Filter.FilterListener listener)启动一个异步的过滤操作。对该方法的调用会取消之前队列中等待处理的过滤请求并且递交新的过滤请求等待执行。完成过滤操作之后通知监听器。参数constraint过滤数据的约束条件listener 监听过滤操作完成之后发出的通知参见filter(CharSequence)performFiltering(CharSequence)publishResults(CharSequence, android.widget.Filter.FilterResults)public final void filter(CharSequence constraint)启动一个异步的过滤操作。对该方法的调用会取消之前队列中等待处理的过滤请求并且递交新的过滤请求等待执行。参数constraint过滤数据的约束条件参见filter(CharSequence, android.widget.Filter.FilterListener)五、 受保护方法protected abstract Filter.FilterResults performFiltering (CharSequence constraint)根据约束条件调用一个工作线程过滤数据。子类必须实现该方法来执行过滤操作。过滤结果以Filter.FilterResults的形式返回然后在UI线程中通过publishResults(CharSequence,android.widget.Filter.FilterResults)方法来发布。约定当约束条件为null时原始数据必须被恢复。参数constraint 约束条件返回值过滤结果参见filter(CharSequence, android.widget.Filter.FilterListener)publishResults(CharSequence, android.widget.Filter.FilterResults)Filter.FilterResultsprotected abstract void publishResults (CharSequence constraint, Filter.FilterResults results)通过调用UI线程在用户界面发布过滤结果。子类必须实现该方法来显示performFiltering(CharSequence)的过滤结果。参数constraint 约束条件results 过滤结果参见filter(CharSequence, android.widget.Filter.FilterListener)performFiltering(CharSequence)Filter.FilterResults六、补充示例代码未过滤的数据如下图所示为过滤器设置约束条件(只显示年龄为22的用户)TestFilter.javapublicclassTestFilterextendsListActivity {/**Called when the activity is first created.*/OverridepublicvoidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);ArrayListHashMapString,StringlistnewArrayListHashMapString, String();HashMapString, Stringmap1newHashMapString, String();HashMapString, Stringmap2newHashMapString, String();HashMapString, Stringmap3newHashMapString, String();map1.put(name,henly);map1.put(age,22);map2.put(name,john);map2.put(age,23);map3.put(name,lilei);map3.put(age,22);list.add(map1);list.add(map2);list.add(map3);SimpleAdapter simpleAdapternewSimpleAdapter(this, list, R.layout.user,newString[]{name,age},newint[]{R.id.name,R.id.age});String strnewString(22);CharSequence constraintstr.subSequence(0, str.length());Filter filtersimpleAdapter.getFilter();//得到一个过滤器filter.filter(constraint);//为该过滤器设置约束条件setListAdapter(simpleAdapter);}}main.xmlxml version1.0 encodingutf-8?LinearLayoutxmlns:androidhttp://schemas.android.com/apk/res/androidandroid:orientationverticalandroid:layout_widthfill_parentandroid:layout_heightfill_parentLinearLayoutandroid:idid/listlinearlayoutandroid:layout_widthfill_parentandroid:layout_heightwrap_contentandroid:orientationverticalListViewandroid:idid/android:listandroid:layout_widthfill_parentandroid:layout_heightwrap_contentandroid:drawSelectorOnTopfalseandroid:scrollbarsvertical/LinearLayoutLinearLayoutuser.xmlxml version1.0 encodingutf-8?LinearLayoutxmlns:androidhttp://schemas.android.com/apk/res/androidandroid:orientationhorizontalandroid:layout_widthfill_parentandroid:layout_heightfill_parentandroid:paddingLeft12dipandroid:paddingRight12dipandroid:paddingTop1dipandroid:paddingBottom1dipTextViewandroid:idid/nameandroid:layout_width150dipandroid:layout_height30dipandroid:textSize12pt/TextViewandroid:idid/ageandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:textSize12pt/LinearLayout
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/915049.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!