首页 文章 精选 留言 我的

精选列表

搜索[sdk],共8827篇文章
优秀的个人博客,低调大师

Android 中文 SDK (47) —— Filter

正文 一、结构 public abstract classFilterextendsObject java.lang.Object android.widget.Filter 二、概述 过滤器通过过滤模式来约束数据,通常由实现了Filterable接口的子类来生成。过滤操作是通过调用filter(CharSequence)或者filter(CharSequence, android.widget.Filter.FilterListener)这些异步方法来完成的。以上方法一旦被调用,过滤请求就会被递交到请求队列中等待处理,同时该操作会取消那些之前递交的但是还没有被处理的请求。 三、构造函数 publicFilter() 创建一个新的异步过滤器。 四、公共方法 public CharSequenceconvertResultToString(Object resultValue) 将受过滤的集合对象转换成CharSequence文本。所有继承了Filter的子类应该重写该方法。该方法的默认实现:如果参数为null则返回空字符串或者返回参数的字符串形式. 参数 resultValue转换成CharSequence文本的对象 返回值 CharSequence文本 public final voidfilter(CharSequence constraint, Filter.FilterListener listener) 启动一个异步的过滤操作。对该方法的调用会取消之前队列中等待处理的过滤请求并且递交新的过滤请求等待执行。完成过滤操作之后,通知监听器。 参数 constraint过滤数据的约束条件 listener监听过滤操作完成之后发出的通知 参见 filter(CharSequence) performFiltering(CharSequence) publishResults(CharSequence, android.widget.Filter.FilterResults) public final voidfilter(CharSequence constraint) 启动一个异步的过滤操作。对该方法的调用会取消之前队列中等待处理的过滤请求并且递交新的过滤请求等待执行。 参数 constraint过滤数据的约束条件 参见 filter(CharSequence, android.widget.Filter.FilterListener) 五、 受保护方法 protected abstract Filter.FilterResultsperformFiltering(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.FilterResults protected abstract voidpublishResults(CharSequence constraint, Filter.FilterResults results) 通过调用UI线程在用户界面发布过滤结果。子类必须实现该方法来显示performFiltering(CharSequence)的过滤结果。 参数 constraint约束条件 results过滤结果 参见 filter(CharSequence, android.widget.Filter.FilterListener) performFiltering(CharSequence) Filter.FilterResults 六、补充 示例代码 未过滤的数据如下图所示: 为过滤器设置约束条件(只显示年龄为22的用户): TestFilter.java public class TestFilter extends ListActivity{ /** Calledwhentheactivityisfirstcreated. */ @Override public void onCreate(BundlesavedInstanceState){ super .onCreate(savedInstanceState); setContentView(R.layout.main); ArrayList < HashMap < String,String >> list = new ArrayList < HashMap < String,String >> (); HashMap < String,String > map1 = new HashMap < String,String > (); HashMap < String,String > map2 = new HashMap < String,String > (); HashMap < String,String > map3 = new HashMap < String,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); SimpleAdaptersimpleAdapter = new SimpleAdapter( this ,list,R.layout.user, new String[]{ " name " , " age " }, new int []{R.id.name,R.id.age}); Stringstr = new String( " 22 " ); CharSequenceconstraint = str.subSequence( 0 ,str.length()); Filterfilter = simpleAdapter.getFilter(); // 得到一个过滤器 filter.filter(constraint); // 为该过滤器设置约束条件 setListAdapter(simpleAdapter); } } main.xml <? xmlversion="1.0"encoding="utf-8" ?> < LinearLayout xmlns:android ="http://schemas.android.com/apk/res/android" android:orientation ="vertical" android:layout_width ="fill_parent" android:layout_height ="fill_parent" > < LinearLayout android:id ="@+id/listlinearlayout" android:layout_width ="fill_parent" android:layout_height ="wrap_content" android:orientation ="vertical" > < ListView android:id ="@id/android:list" android:layout_width ="fill_parent" android:layout_height ="wrap_content" android:drawSelectorOnTop ="false" android:scrollbars ="vertical" /> </ LinearLayout > </ LinearLayout > user.xml <? xmlversion="1.0"encoding="utf-8" ?> < LinearLayout xmlns:android ="http://schemas.android.com/apk/res/android" android:orientation ="horizontal" android:layout_width ="fill_parent" android:layout_height ="fill_parent" android:paddingLeft ="12dip" android:paddingRight ="12dip" android:paddingTop ="1dip" android:paddingBottom ="1dip" > < TextView android:id ="@+id/name" android:layout_width ="150dip" android:layout_height ="30dip" android:textSize ="12pt" /> < TextView android:id ="@+id/age" android:layout_width ="wrap_content" android:layout_height ="wrap_content" android:textSize ="12pt" /> </ LinearLayout > 本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/582589,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android SDK 中文 (56) —— ViewFlipper

正文 一、结构 public classViewFlipperextendsViewAnimator java.lang.Object android.view.View android.view.ViewGroup android.widget.FrameLayout android.widget.ViewAnimator android.widget.ViewFlipper 二、概述 被添加到ViewFlipper中的两个或两个以上的视图之间将执行一个简单的ViewAnimator动画。一次仅能显示一个子视图。如果需要,可以设置间隔时间使子视图像幻灯片一样自动显示。(译者注:com.example.android.apis.view/Animation_2.java包含该类示例程序) 三、XML属性 属性名称 描述 android:autoStart 当设为true时,自动启动动画 此时必须是一个布尔值,属性值为true或false (对应于全局资源属性R.attr.autoStart) android:flipInterval 显示下一个视图的时间间隔 四、公共方法 public bool isAutoStart () 如果视图显示到窗口上时会自动调用startFlipping()方法,则返回true public bool isFlipping() 如果子视图正在切换,则返回true public bool setAutoStart (bool autoStart) 设置视图显示到窗口上时是否会自动调用startFlipping()方法 public bool setFlipInterval (int milliseconds) 视图间切换的时间间隔 参数 milliseconds 毫秒数 public bool startFlipping () 开始在子视图间定时循环切换 public bool stopFlipping () 停止切换 本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/582568,如需转载请自行联系原作者

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册