Oreo автозаполнение - как отключить подсказку на поле, но все равно автозаполнение?
У меня есть поля EditText кредитной карты (полное имя, срок действия, номер кредитной карты, cvv), которые все автоматически заполняются в приложении для Android.
Проблема в том, что приглашение автозаполнения отображается в каждом поле. Я просто хочу, чтобы автозаполнение появлялось, когда пользователь нажимал на поле кредитной карты. Если пользователь нажимает на cvv или дату истечения срока действия, например, не должно быть никакого запроса на автоматическое заполнение.
Ключевым моментом является то, что я все еще хочу, чтобы все поля были автоматически заполнены, но я просто не хочу, чтобы приглашение отображалось на всех них.
что я пробовал до сих пор.
вот пример поля cvv, в котором я пытался установить
важный для автозаполнения, чтобы "нет"
но это заставляет поле полностью игнорироваться. я просто не хочу, чтобы появлялось приглашение:
<EditText
android:id="@+id/et_cc_cvv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:autofillHints="creditCardSecurityCode"
android:importantForAutofill="no"
android:drawableRight="@drawable/question_icon"
android:hint="@string/cvv"
android:imeOptions="actionDone"
android:inputType="number" />
1 ответ
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
disableAutoFill();
}
public void disableAutoFill() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
getWindow().getDecorView().setImportantForAutofill(View.IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS);
}
}