重复使用布局时,Android autofill多次输入相同的信息

重复使用布局时,Android autofill多次输入相同的信息,android,Android,我有一个片段,其中多次重复使用同一布局。布局有两个EditText字段,一个用于名称,一个用于电子邮件。换句话说,该视图允许您同时输入多个联系人,其中有多少是可选的。发生的情况是: 用户按下其中一个字段,比如电子邮件字段,Android内置的自动填充功能会显示一个建议 用户按下选项,即存储的电子邮件地址 然后,自动填充功能会将电子邮件地址多次输入到每个重复使用的布局中。 假设我有三个联系人信息视图,那么三个电子邮件字段中的每一个都将收到自动填写的电子邮件地址,清除以前的任何内容 我希望它只输入到

我有一个片段,其中多次重复使用同一布局。布局有两个EditText字段,一个用于名称,一个用于电子邮件。换句话说,该视图允许您同时输入多个联系人,其中有多少是可选的。发生的情况是:

  • 用户按下其中一个字段,比如电子邮件字段,Android内置的自动填充功能会显示一个建议
  • 用户按下选项,即存储的电子邮件地址
  • 然后,自动填充功能会将电子邮件地址多次输入到每个重复使用的布局中。 假设我有三个联系人信息视图,那么三个电子邮件字段中的每一个都将收到自动填写的电子邮件地址,清除以前的任何内容 我希望它只输入到当前选择的字段中,有什么方法可以控制它吗

    LinearLayout contactsListLayout;
    
    for (Contact contact : contacts) {
              ContactView view = new ContactView(context, contact);
              contactsListLayout.addView(view);
          }
    

    ContactView.java

    public class ContactView extends RelativeLayout  {
    ...
         public void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.contact_view);
         }
    
    ...
    }
    

    联系_view.xml

    <LinearLayout
         android:orientation="vertical"
         android:layout_width="match_parent"
         android:layout_height="wrap_content">
    
         <EditText
              android:id="@+id/nameEdit"
              android:inputType="textCapSentences"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:imeOptions="flagNoExtractUi|actionSearch"
              android:hint="Name"/>
    
         <EditText
              android:id="@+id/emailEdit" 
              android:inputType="textEmailAddress"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:hint="E-mail Address"/>
    
    </LinearLayout>
    

    然后用户用他的电子邮件地址填充editText,您可以将其存储在SQL数据库中,在该用户转到第二个视图后,将有另一个电子邮件地址字段。因此,在那个时候,你的应用程序会得到你插入到SQL数据库中的字符串值(电子邮件地址),并自动填充editText

    希望我的回答能帮助你

    以下是一些用于设置SQL数据库的链接:


  • 现在来看,我想您可以尝试动态设置
    importantForAutoFill
    属性:当其中一个输入组被激活时,将所有其他片段的属性设置为
    no
    。有点小技巧,但可以工作:)将尝试。也许相反,将其设置为“否”作为默认值,并在激活输入时设置为“是”。Hacky确实如此。这取决于:如果在对输入事件做出反应之前选中了属性,则可能不会显示自动填充建议。请报告它是否有效!这不是我要找的,不过还是要谢谢你:)