案例:
RecycleView适配中在创建子布局的时候,父容器的参数失效,子布局会形成包裹内容。
原因:
在创建布局的时候用的view.inflate而不是LayoutInfalter.infalter。view的方法底层封装了layoutinflater的两个参数的方法,一个布局id,一个父容器。但是此情景需要三个参数的方法,id,父容器参照,false.
拓展:
LayoutInflater类的inflate方法适用于所有需要进行布局填充的场景,是Android中专门进行布局填充的方法,Android中其他需要
使用布局填充的地方,都会调用本方法,而不是View类中的inflate方法。该方法不是静态方法,需要先创建LayoutInflater类的对象才能调用。
View类中的inflate方法内部包裹了LayoutInflater类的inflate方法,这个方法是一个静态方法,不需要创建View类的对象,直接使用
View类名调用,相比上一种方法是一种简便方法。但很明显,这个方法不如上一个方法功能强大。
网友评论