Android 具有相同 ID 的自定义输入

Android Custom inputs having same IDs

我通过扩展 LinearLayout 并对齐 textview 和 editText 构建了自定义 editText 组件。我重用它们以编程方式构建多个输入。

<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<TextView
    android:id="@+id/text_input_label"
    android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_marginBottom="@dimen/very_small_margin"
    android:layout_weight="1"
    android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
    android:textColor="@color/input_label_color" />

<com.google.android.material.textfield.TextInputEditText
    android:id="@+id/text_input_edit"
    android:layout_width="match_parent"
    android:layout_height="46dp"
    android:layout_marginBottom="@dimen/small_margin"
    android:drawablePadding="@dimen/small_margin"
    android:background="@drawable/custom_input_bg"
    android:paddingStart="@dimen/default_margin"
    android:paddingEnd="@dimen/small_margin"
    android:paddingTop="@dimen/small_margin"
    android:paddingBottom="@dimen/small_margin"/>
</merge>

问题是,通过这种呈现输入的方式,我最终得到了共享相同 ID 的 editText,当我离开包含它们的片段并返回时,editText 都具有相同的值。即使将他们的 ID 设置为 random int 也不起作用。

我能做什么? 感谢您提供任何建议或帮助。

我已将 id 定义为 View.NO_ID 而且现在看来问题已经解决了