为了账号安全,请及时绑定邮箱和手机立即绑定

ActivityDemoBinding这个类哪里来的?没看到出处。sdk没有?

ActivityDemoBinding这个类哪里来的?没看到出处。sdk没有


正在回答

9 回答

它是自动生成的,当你在xml中外层加入<layout></layout>时,gradle帮助自动生成,老师在视频讲到过。把工程切换到project类型,ActivityDemoBinding在/app/build/intermediates/classes/debug/com/github/markzhai/databindingsample/databinding下。ActivityDemoBinding这个类名是根据main类的名称生成的

0 回复 有任何疑惑可以回复我~
#1

几米憧憬 提问者

非常感谢!
2016-12-11 回复 有任何疑惑可以回复我~

自动生成的。。。。。

0 回复 有任何疑惑可以回复我~

需要AS Build-->rebuild project,才会出现ActivityMainBinding

0 回复 有任何疑惑可以回复我~

确实是无法生成,没法往后学了

0 回复 有任何疑惑可以回复我~

我的怎么都没有啊,奇怪了

0 回复 有任何疑惑可以回复我~
重启了都没有、、。。。真不智能
0 回复 有任何疑惑可以回复我~

奇怪了,我的怎么不会自动生成呢?

0 回复 有任何疑惑可以回复我~

根据xml布局文件名字,自动生成Binding类。

例如:activity_test.xml -> ActivityTestBinding

        activity_main.xml -> ActivityMainBinding

        splash_test.xml -> SplasTestBinding

(注意,当重构xml布局文件名称时,Binding类也会重构,但是代码中的例如ActivityTestBinding名称没变,会导致报错。所以xml名称重构后,还需要手动修改ActivityTestBinding的名称)

1 回复 有任何疑惑可以回复我~
#1

Jerry_1999

为何app/build/intermediates到了这里就没有classes这个文件夹了呢
2017-01-10 回复 有任何疑惑可以回复我~
#2

weixin_慕无忌9332538

这个是正解
2022-02-18 回复 有任何疑惑可以回复我~

更正一下,ActivityDemoBinding并不是gradle帮助生成的,是databinding机制生成的(本人猜测应该是android studio帮助生成的),老师在2-3 databinding原理这一节的后半节有讲到

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

ActivityDemoBinding这个类哪里来的?没看到出处。sdk没有?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信