如何在 xml 中配置 <include> 布局
How to configure an <include> layout in xml
我在我的主机布局中包含了一个带有 EditText 的布局。包含布局中 EditText 的 imeOptions 应该可以从我的主机布局中配置。因此我在包含布局中添加了一个变量和钩子。
我的问题是在主机布局中我想将实际标志设置为这样的值
app:customImeOptions="@{actionNext}"
通过这样做,我收到错误“找不到标识符 'actionNext'”。唯一有效的是设置整数值。
app:customImeOptions="@{0x00000006}"
包含布局
<data>
...
<variable
name="customImeOptions"
type="Int"/>
</data>
<ConstraintLayout
...
...>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:imeOptions="@{customImeOptions}/>
</ConstraintLayout>
主机布局
<约束布局
...
...>
<include
layout="@layout/include_layout"
app:customImeOptions="@{0x00000006}" />
要在主机布局中设置标志,必须在主机布局中导入相应的 class。在这种情况下,将此导入添加到主机布局的数据部分
<data>
<import type="android.view.inputmethod.EditorInfo" />
</data>
既然主机布局知道了这一点class,就可以像这样设置标志而不是 int 值
<include
layout="@layout/include_layout"
app:customImeOptions="@{EditorInfo.IME_ACTION_NEXT}" />
我在我的主机布局中包含了一个带有 EditText 的布局。包含布局中 EditText 的 imeOptions 应该可以从我的主机布局中配置。因此我在包含布局中添加了一个变量和钩子。
我的问题是在主机布局中我想将实际标志设置为这样的值
app:customImeOptions="@{actionNext}"
通过这样做,我收到错误“找不到标识符 'actionNext'”。唯一有效的是设置整数值。
app:customImeOptions="@{0x00000006}"
包含布局
<data>
...
<variable
name="customImeOptions"
type="Int"/>
</data>
<ConstraintLayout
...
...>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:imeOptions="@{customImeOptions}/>
</ConstraintLayout>
主机布局 <约束布局 ... ...>
<include
layout="@layout/include_layout"
app:customImeOptions="@{0x00000006}" />
要在主机布局中设置标志,必须在主机布局中导入相应的 class。在这种情况下,将此导入添加到主机布局的数据部分
<data>
<import type="android.view.inputmethod.EditorInfo" />
</data>
既然主机布局知道了这一点class,就可以像这样设置标志而不是 int 值
<include
layout="@layout/include_layout"
app:customImeOptions="@{EditorInfo.IME_ACTION_NEXT}" />