我今天搜索了很多,只发现了一些关于这个问题的不清楚的答案。
我在一个表单中有多个 TextView 和 EditText,所有这些都是由我的主题自定义的,我想每次重用相同的包含布局,但有参数,例如 TextView 内的文本或 EditText 内的提示。
我现在的form.xml:
<LinearLayout android: orientation="horizontal">
<TextView android:text="Username"/>
<EditText android:id="edittext_username"
android:hint="Enter username..."
android:inputType="text"/>
</LinearLayout>
<LinearLayout android: orientation="horizontal">
<TextView android:text="Password"/>
<EditText android:id="edittext_password"
android:hint="Enter password..."
android:inputType="password"/>
</LinearLayout>
... other fields ...
Run Code Online (Sandbox Code Playgroud)
我在主 form.xml 中想要什么:
<LinearLayout android:orientation="vertical" ...>
<include layout="form_edittext"
app:textview_text="@{`Username`}"
app:edittext_hint="@{`Enter username...`}"
... other parameters ...
/>
<include layout="form_edittext"
app:textview_text="@{`Password`}"
app:edittext_hint="@{`Enter password...`}"
... other parameters ...
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
还有 form_edittext.xml:
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable name="textview_text" type="java.lang.String"/>
<variable name="edittext_id" type="java.lang.String"/>
<variable name="edittext_inputType" type="java.lang.String"/>
<variable name="edittext_hint" type="java.lang.String"/> …Run Code Online (Sandbox Code Playgroud)