android studio stub,为什么Android Studio在通过ViewDataBinding访问ViewStub时无法构建?

我有一个包含2个ViewStubs的布局.它们的定义如下:

android:id="@+id/top_divider_stub"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:inflatedId="@+id/top_divider_layout"

android:layout="@layout/include_line_separator_horizontal"/>

android:id="@+id/bottom_divider_stub"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:inflatedId="@+id/bottom_divider_layout"

android:layout="@layout/include_line_separator_horizontal"/>

在我的适配器中,我试图通过DataBinding库生成的ViewDataBinding访问ViewStub,在我的例子中是TitleBinding.尝试执行以下操作会导致错误.

TitleBinding binding = DataBindingUtil.bind(view);

ViewStub topDividerStub = binding.topDividerStub;

ViewStub bottomDividerStub = binding.bottomDividerStub;

我收到此错误,应用程序无法编译.

Error:(31,50) error: incompatible types: ViewStubProxy cannot be converted to ViewStub

我通过将变量设置为类型ViewStubProxy来解决它,允许它进行编译,但是提供了不兼容的类型语法突出显示错误.如果可能的话,我想知道这样做的正确方法.

这有效……

ViewStubProxy topDividerStub = binding.topDividerStub;

ViewStubProxy bottomDividerStub = binding.bottomDividerStub;

导致

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio stub 是指 Android Studio 自动为我们生成的一些代码,这些代码只是一个空壳,没有实现具体的功能。在我们需要查看 Android 源码的候,如果直接跳转到 Android 源码的话,有候会抛出 RuntimeException 异常,这是因为 Android Studio 使用的是 stub 代码,而不是真正的源代码。 如果你需要查看 Android 源码,可以通过以下方式解决这个问题: 1. 下载 Android 源码:在 Android 官网上下载对应版本的 Android 源码,并解压到本地。 2. 配置 Android 源码路径:在 Android Studio 打开 Preferences(或者 Settings),在左侧选择 Appearance & Behavior -> System Settings -> Android SDK,然后在右侧选择 SDK Platforms 标签页,找到 Android 版本对应的条目,在其右侧点击 Show Package Details,然后勾选 Sources for Android XX(XX 为 Android 版本号)并点击 Apply。 3. 配置 Android 源码目录:在左侧选择 Appearance & Behavior -> System Settings -> Android SDK,在右侧选择 SDK Tools 标签页,找到 Android SDK Build-Tools 条目,在其右侧点击 Show Package Details,然后勾选 Android SDK Build-Tools XX.XX.XX(XX.XX.XX 为 Build-Tools 版本号),然后点击 Apply。 4. 将 Android 源码添加到项目:在 Android Studio 打开需要查看源码的项目,在 Project 视图下找到 app 模块,右键点击该模块并选择 Open Module Settings,然后在左侧选择 Dependencies,点击加号并选择 Module dependency,选择 Android 源码所在的目录并点击 OK。 这样就可以在项目查看 Android 源码了,不再会出现 RuntimeException 异常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值