Databinding在自定义ViewGroup中如何绑定view
首先我们在平时开发中使用databinding的时候大部分都是在Activity或者fragment中,但我们一旦在自定义ViewGroup中使用的时候就会出现问题
问题描述:
我们在自定义LinearLayout中使用DataBinding的时候:
1:无法使用setContentView(Activity activity, int layoutId)
2:使用inflate(LayoutInflater inflater, int layoutId,@Nullable ViewGroup parent, boolean attachToParent)方法无效。
看代码
public TitleEditTextView(Context context, @Nullable AttributeSet attrs) {super(context, attrs);View view = inflate(context, R.layout.view_title_edit,this);mBinding = DataBindingUtil.bind(view); }
看似没什么问题,但一旦运行后就会发现会报错
意思也很简单,就是View is not a binding layout 没有绑定上view,这就很奇怪了,那怎么办?
解决方法:
打开这个目录,找到这个类打开
搜索到 ViewGroup绑定的R.layout.view_title_edit
这个里面有个判断条件就是 tag
那么我们就知道了其实我们缺少的是tag
tag要设什么也就清楚了
这是我们回到原来的地方
public TitleEditTextView(Context context, @Nullable AttributeSet attrs) {super(context, attrs);View view = inflate(context, R.layout.view_title_edit,this);//加上这一句,tag内容和上面的tag一样就可以了 view.setTag("layout/view_title_edit_0"); mBinding = DataBindingUtil.bind(view); }
再次运行程序就不会报错了。记录仅供参考。
转载于:https://www.cnblogs.com/woaixingxing/p/9150561.html
Databinding在自定义ViewGroup中如何绑定view相关推荐
- 自定义ViewGroup (3) 与子View之间 Touch Event的拦截与处理
2019独角兽企业重金招聘Python工程师标准>>> 在昨天的博客(自定义ViewGroup(2))中,我们解决了多个手指交替滑动带来的页面的跳动问题.但同时也还遗留了两个问题. ...
- 自定义ViewGroup中onMeasure()的来龙去脉
目录 1.引言 2.谁来调用onMeasure()? 3.widthMeasureSpec和heightMeasureSpec 4.wrap_content之谜 5.总结 1.引言 刚入职不满一年的A ...
- Android 自定义ViewGroup中onFinishInflate方法可以用来干什么
onFinishInflate 当View中所有的子控件均被映射成xml后触发 也就是会在Activity中调用setContentView之后就会调用onFinishInflate这个方法,这个方法 ...
- android 自定义图片容器,Android应用开发中自定义ViewGroup视图容器的教程
一.概述在写代码之前,我必须得问几个问题: 1.ViewGroup的职责是啥?ViewGroup相当于一个放置View的容器,并且我们在写布局xml的时候,会告诉容器(凡是以layout为开头的属性, ...
- Android自定义ViewGroup的OnMeasure和onLayout详解
前一篇文章主要讲了自定义View为什么要重载onMeasure()方法http://blog.csdn.net/tuke_tuke/article/details/73302595 那么,自定义Vie ...
- Android开发实践:自定义ViewGroup的onLayout()分析
Android开发中,对于自定义View,分为两种,一种是自定义控件(继承View类),另一种是自定义布局容器(继承ViewGroup).如果是自定义控件,则一般需要重载两个方法,一个是onMeasu ...
- Android自定义ViewGroup的布局,往往都是从流式布局开始
前言 前面几篇我们简单的复习了一下自定义 View 的测量与绘制,并且回顾了常见的一些事件的处理方式. 那么如果我们想自定义 ViewGroup 的话,它和自定义View又有什么区别呢?其实我们把 V ...
- 自定义 ViewGroup 的时候,关于 LayoutParams 有哪些注意事项?
原始网页直通车 LayoutParams 子View 通过 LayoutParams 告诉 ViewGroup 应该如何放置自己,主要用来协助 ViewGroup 进行布局. 在自定义 ViewGro ...
- 自定义的ViewGroup中添加自定义View 造成的无法显示问题(个人)
首先说一下我在网上找了很久没有找到说明方法所以我就自己试着写了一下 1.我自定义了一个继承了RelativeLayout的ViewGroup java代码如下: /*** 简单自定义三头像* @aut ...
- DialogFragment中通过dataBinding绑定View,设置点击事件无效,通过getWindow设置dialog位置和大小无效。
1.问题描述:DialogFragment中通过dataBinding绑定View,设置点击事件无效. private val binding: CoreDialogEditContentBindin ...
最新文章
- iOS UITouch 触摸事件处理
- JZOJ 3870. 【NOIP2014八校联考第4场第1试10.19】单词检索(search)
- 江苏2021年新高考八省联考成绩查询,2021八省联考成绩什么时候出 2021八省联考江苏成绩公布...
- mysql中索引类型索引方法_MYSQL索引的类型和索引的方式
- 【dfs】栅栏的木料(2012特长生 T4)
- linux下怎么将html换成pdf,如何在Linux上使用PHP将HTML/CSS转换为PDF
- jspservlet入门小项目--留言管理
- 基于韦尔奇·鲍威尔法对图着色 含c++代码
- 计算机联锁系统冗余试验,计算机联锁系统冗余技术及应用研究
- 飞凌OK6410开发板加装锂电池电源管理模块
- 计算机专业应届生简历英语作文,计算机专业毕业生英文简历范文
- word2vec源码详解
- php布道师,百度智能小程序宣布“布道师”计划 昭原集团加入合作阵营
- SQL FULL OUTER JOIN
- 当你的Stream遇上Lambda就爱上了,超级无敌酷酷 - 第418篇
- 如何快速统计Excel中Sheet数
- P5587 打字练习
- 一台虚拟机上的文件怎么复制给另一台虚拟机
- linux raid卡驱动添加到内核,安装Linux系统时LSI RAID卡的驱动挂载
- 赛门铁克linux安装教程,SEP14在linux下安装失败……