问题描述
我正在尝试在 EditText 字段中利用 Android 的自动填充功能,向用户提供使用与键盘顶部的设备/帐户关联的电话号码的建议,如下图所示。
我尝试将 android:autofillHints="phone"
和 android:autofillHints="phoneNumber"
添加到布局的 xml 文件中。这两个选项都导致出现此“密码”按钮的左侧屏幕截图。 (我也在实际设备而不是模拟器上测试了这段代码)
要查看我是否没有正确使用自动填充,或者这是否是设备/帐户问题,我尝试将代码更改为 android:autofillHints="emailAddress"
。这导致了正确的屏幕截图,其中显示了帐户的电子邮件地址(出于隐私目的而进行了编辑)。这让我相信我的帐户中可能没有保存电话号码或其他东西,这就是它默认为“密码”的原因。
我的问题是:
任何帮助将不胜感激。
这里是编辑文本的xml代码:
<EditText
android:id="@+id/appt_type_phone_number_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:autofillHints="phone"
android:importantForAutofill="yes"
android:background="@android:color/transparent"
android:ems="10"
android:hint="@string/enter_phone_number"
android:inputType="phone"
android:maxLength="16"
android:textSize="14sp"
android:padding="16dp"
tools:targetApi="O"
/>
解决方法
-
这取决于您的自动填充服务为您的应用提供了什么。
-
& 3. 您可以通过编程方式设置自动填充提示。
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) binding.appt_type_phone_number_text.setAutofillHints(View.AUTOFILL_HINT_PHONE) }