C/C++教程

记一个jetpack databinding和include一起使用时出现的问题

本文主要是介绍记一个jetpack databinding和include一起使用时出现的问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.简介

databinding可以获取当前布局的View对象

但是当前layout包含include子视图时,子视图的View元素不存在于binding上

2.解决

修改子视图,使用layout为根元素,使子视图生成binding

<?xml version="1.0" encoding="utf-8"?>

<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">

    <androidx.appcompat.widget.Toolbar
        android:id="@+id/main_toolbar"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
        app:layout_constraintTop_toTopOf="parent"
        style="@style/main_toolbar" >
    </androidx.appcompat.widget.Toolbar>

</layout>

修改include指令,覆盖子视图id,此时可以从父级布局的binding引用到子视图的binding

这篇关于记一个jetpack databinding和include一起使用时出现的问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!