代码之家  ›  专栏  ›  技术社区  ›  android

Android将资源数据绑定到包含标记中

  •  0
  • android  · 技术社区  · 3 年前

    我在将@string/title绑定到include标记的数据方面遇到了一些问题。

    相关包含xml

    <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">
    <data>
        <import type="kotlin.jvm.functions.Function0"/>
        <variable
            name="saveVisibility"
            type="Boolean" />
    
        <variable
            name="closeClick"
            type="Function0&lt;kotlin.Unit&gt;" />
    
        <variable
            name="titleText"
            type="String" />
    
        <variable
            name="saveClick"
            type="Function0&lt;kotlin.Unit&gt;" />
    </data>
    
            <TextView
                android:id="@+id/toolbarTitle"
                style="@style/HeadlineSecondary"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginStart="@dimen/margin_normal"
                android:layout_marginEnd="@dimen/margin_normal"
                android:text="@{titleText}"
                android:textAlignment="center"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toStartOf="@id/toolbarSave"
                app:layout_constraintStart_toEndOf="@id/toolbarClose"
                app:layout_constraintTop_toTopOf="parent"
                tools:text="@string/toolbar_title_placeholder" />
    

    正如你们所见,我有一个名为titleText的变量,我基本上只是想用它来设置一个textview。

    这是不适用于此titleText的父XML

            <include
                android:id="@+id/toolbar"
                layout="@layout/toolbar_close_save_databind"
                app:titleText="@string/title"
                app:saveVisibility="@{viewModel.isModified}"
                app:saveClick="@{viewModel::saveData}"
                app:closeClick="@{viewModel::closeClick}" />
    

    我不知道为什么它不能将字符串链接到include标记。

    0 回复  |  直到 3 年前