问题标签 [android-viewbinding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 不在 androidx.viewpager2.widget.ViewPager2 中显示片段并且不滑动:
在我的 app/build.gradle 中:
在我的活动中:
我的自定义适配器:CustomFragmentStateAdapter
并在qr_bluetooth_swipe_activity.xml
结果 viewPager2 成功初始化和成功滑动。第一个屏幕是我的第一个片段QrPageFragment
,第二个屏幕是BluetoothPageFragment
.
好的。它工作正常。
现在我想使用数据绑定。所以这里改变了我的活动:
在 xml 中:
但是现在viewPager2
显示,但不显示我的片段。而且我不能刷卡。为什么?
android - 为什么使用 ViewBinding 而不是 DataBinding?
正如我们在这里ViewBinding
所读到的,和之间的差异非常小Databinding
。
数据绑定库仅处理使用
<layout>
标签创建的数据绑定布局。视图绑定不支持布局变量或布局表达式,因此它不能用于将布局与 XML 中的数据绑定。
开发人员还应该注意哪些其他差异?为什么要创造差异如此之小的新事物?
有人请解释
android - ViewBinding - 如何获得包含布局的绑定?
在使用 ViewBinding 时,我遇到了一些没有记录的案例。
第一:如何获得包含的通用视图布局部分的绑定,主绑定只看到主布局中的项目?
第二:如何获得包含的合并类型布局部分的绑定,再次主绑定只看到主布局中的项目?
android - 尝试包含标准库中的 android 布局的数据绑定错误
在我的 XML 文件中,我想包含标准库中的布局:
但数据绑定库似乎不喜欢它:
有没有办法解决这个问题?
android - 视图绑定和数据绑定的用例是什么?
今年年初(2019 年),Google 推出了view-binding,这是一项新功能,可以将 UI 组件平滑绑定到数据源,就像data-binding一样。
我浏览了视图绑定的文档,在用例方面我找不到视图绑定和广为人知的数据绑定之间的任何区别;他们似乎做同样的事情。
他们有单独的用例吗?线画在哪里?是否引入了视图绑定以便可以弃用数据绑定?
PS:
在起草这个问题时,我试图确保我没有提出基于意见的问题。我只想了解这两个库的用例。
android - ViewBinding如何实时生成代码?
当我使用 ViewBinding 时,它总是生成xxxxxBinding
.
我知道android使用Android Gradle Plugin
带有代码和资源的构建apk。</p>
他们将拆分一些任务(或转换)。
我知道 task(transform) 会将一些文件构建到./build
.
但是ViewBinding让我一头雾水,他好像不是在生成文件(因为我每次创建布局文件都可以直接访问)(或者我可以直接删除build文件夹就不会再创建了,但是他仍然可以在代码中正确(没有错误)。</p>
是不是偷偷生成了一些文件?
如果是这样,它将在哪里生成?
如果没有,我该怎么做?例如,使用 Markdown 文件实时生成代码。
android - 如何使用与视图绑定?
我无法获得带有合并根标记的布局来处理视图绑定。可能吗?
include_layout.xml:
合并布局.xml:
运行时异常:
java.lang.NullPointerException: Missing required view with ID: includeTest
android - 如何从包含合并标签的布局访问视图,该标签包含在另一个布局中?
我使用 Android Studio 3.6-RC1 和构建工具版本 3.6.0-rc01 并遇到了 ViewBinding 功能的问题:
我有带有以下标记的 activity_test.xml 文件:
并带有以下标记的 merge_view.xml:
活动代码如下所示:
问题是当我尝试从合并布局访问 TextView 时,应用程序会抛出异常并显示消息java.lang.NullPointerException: Missing required view with ID: viewMerged.
生成的绑定类如下所示:
我是否遗漏了什么,或者无法从包含的带有标签的布局中访问视图,或者它尚未在 Android Studio 3.6-RC1 中提供?
android - 视图绑定:有没有一种方法可以在给定布局 id 的情况下对布局进行一般膨胀?
通过数据绑定,我们有一个 DataBindingUtil 类,它有一个可以处理任何布局 id 的 inflate 方法:
使用视图绑定,似乎没有 ViewBindingUtil 类。Inflate 方法旨在在具体绑定类型上调用。但是,如果您不提前知道具体的绑定类型怎么办?一种解决方案是在 layoutId 上运行 when 语句:
但与单行数据绑定相比,这是很多代码。有没有更好的办法?我找到了这个 3rd 方库,但它看起来像使用反射:https ://github.com/matsudamper/ViewBindingUtil