问答详情
源自:2-2 Data Binding基础用法

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

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


提问者:几米憧憬 2016-12-08 12:53

个回答

  • HJim
    2016-12-09 20:37:31
    已采纳

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

  • 三少爷的鞋
    2022-05-07 10:03:06

    自动生成的。。。。。

  • 慕粉1739266356
    2018-09-11 16:40:06

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

  • 慕粉1535419877
    2018-06-28 14:21:37

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

  • 暴雨
    2018-05-23 17:10:30

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

  • 第八个
    2018-04-13 16:13:26

    重启了都没有、、。。。真不智能

  • BreadCrumb
    2017-06-24 16:00:54

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

  • alionSSS
    2016-12-10 23:37:52

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

    例如:activity_test.xml -> ActivityTestBinding

            activity_main.xml -> ActivityMainBinding

            splash_test.xml -> SplasTestBinding

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

  • HJim
    2016-12-09 20:50:41

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