RemoteViews布局和类型限制源码分析

一、官方文档

二、类的定义

三、RemoteView注解

        在RemoteViews源码中声明了如下注解:

        从注解类型来看为运行时注解,作用于类或接口,结合注释可知此注解用于View的子类,用来标识该View是否可以作为远程视图使用。由此可以推断出,并非所有View都可以作为远程视图,只有声明了RemoteView注解的View才可以。

        例举几个源码中的定义:

四、Filter接口

       从注释中不难看出,Filter类是用来限制和过滤View的。上文提到并非所有的View都能用作远程视图,如果为上述列举的View,则onLoadClass(Class clazz)返回true,否则返回false。

        在RemoteViews中,Filter接口方法的实现:

        若onLoadClass(Class clazz)返回false,则抛出以下异常。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章