问题标签 [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.

0 投票
0 回答
349 浏览

android - 如何在扩展类中使用视图绑定库

我有一个带有 2 个模块的 Android 项目。我在两个模块中都有 MainActivity:

  • com.example.MainActivity
  • com.example.paid.PaidMainActivity

两个模块都有 res/layout/main.xml 并且它们有点不同。

免费版:

付费版:

PaidMainActivity 扩展 MainActivity 并在父活动中使用 setContentView 设置布局。目前 90% 的功能是相同的,并且是在 MainActivity 中完成的。

ViewBinding 生成两个 MainBinding java 类,我可以在任一类中使用它们,但我必须重构大量代码(此示例过于简单)。我在两个活动中也会有重复的代码,因为我不能使用相同的绑定对象并覆盖某些功能。有没有办法可以将视图绑定和合并的 xml 文件与所有 (@Nullable) 视图一起使用?

0 投票
4 回答
6612 浏览

android-navigation - 使用视图绑定导航

我正在尝试使用视图绑定替换所有 findViewById。但是,我无法使用View Binding更改我的 NavController 代码行。

我怎样才能做到这一点?

0 投票
3 回答
2193 浏览

java - 如何在 RecyclerView 适配器上用 ViewBinding 替换 ButterKnife

我想在我的 ?中使用新的View Binding而不是ButterKnifeRecyclerView Adapter class

这是我的class

我试试这个,但我有这个问题。

问题

实际上,我想删除所有代码行@BindView以使代码更具可读性。如果我犯了错误,对不起我的英语。

0 投票
2 回答
2053 浏览

android - 未生成 ViewBinding 类

我在 build.gradle 文件中启用了视图绑定:

我已经拆分了我的布局文件夹以维护订单,因为它是一个大项目。但是,没有生成我的 ViewBinding 类。

错误图片

如何解决这个错误?

0 投票
1 回答
442 浏览

android - 自定义注释,如用于 android viewBinding 的 Butterknifes "@OnClick"

我将一个项目从 Butterknife 迁移到 android viewBinding。

在 Butterknife 中有类似的东西:

现在我必须像这样设置所有按钮单击侦听器:

有没有办法实现自定义注释以便能够编写如下内容:

0 投票
2 回答
221 浏览

android - 片段 getLayoutInflater() 与 LayoutInflater.from(getContext())

任何人都可以在下面的代码片段中解释 A 和 B 之间的区别吗?它来自一个DialogFragment.

0 投票
1 回答
880 浏览

android - 安卓不适用于 ViewBinding

我对这个“新”的 Android 视图绑定有疑问。当我尝试 <include> 在我的 XML 布局文件中使用 a 时出现异常: <include layout="@layout/teaser_agreement" />

包含文件只是一个基本的布局文件。<include>如果我直接用应该包含的布局代码替换标签,一切正常。

这是生成的类的异常:

有什么建议么?

谢谢,米尔科

0 投票
2 回答
342 浏览

android - 约束布局 0dp 不适用于 Android 视图绑定

我正在使用 Android 视图绑定(在 Android Studio 3.6 上)。我正在使用自动生成的类来膨胀 ViewHolder,比如

MyViewHolder 看起来像这样:

但这会产生如下 UI 错误: 由于 Android 绑定导致的 UI 错误

当使用正常的通货膨胀和 findViewById 时,它会产生正确的结果: 使用 findViewById apoach 更正 Ui

由于我在有错误的地方使用了 ConstraintLayout 和 0dp,这让我相信 View Binding 膨胀不适用于 ConstraintLayout 的 0dp。

我对么?解决方法是什么?

0 投票
1 回答
2366 浏览

android - 可以模拟/测试 Android ViewBinding 交互吗?

目前正在尝试在单元测试中测试与ViewBinding类的交互

像这样的事情就是我的想法。ViewBinding 中的视图是公共的最终属性,不能轻易模拟。至少我做不到。传递一个View模拟来创建 ViewBinding 也不起作用,因为我必须模拟findViewById它。

有没有人试过这个并让它工作?

0 投票
2 回答
1101 浏览

android - 使用 viewBinding 时无法解析方法“getRoot()”

我在我的项目中使用 viewBinding,效果很好。但是我有一个问题getRoot()在这一行中无法解决View view = binding.getRoot()。我的代码运行良好,没有任何崩溃,但我希望错误消失,似乎无法解决问题。我已经尝试禁用和重新启用 viewBinding、使缓存无效以及重新启动和清理项目,但这个恼人的错误似乎并没有消失。

这是我的代码

构建.gradle

主要活动

活动主要