課題
Androidの8.0からAutofill機能が追加され、メアドとパスワードを記憶、自動セットしてくれるようになったが、 新規入力画面ではメールアドレス、パスワードの保管を無効化したい。どうすればよいか。
対応
importantForAutofill
を no
にする
<TextView android:importantForAutofill="no" />
逆に yes にすればAndroidが普段AutoFillをしないような項目でも使えるようになる(はず)。
この対応がなぜ必要になったか
新規会員登録画面で別画面から取得したメールアドレス欄をisClickable
,isFocusable
がともにfalseな状態で初期表示させていたが、
パスワード入力時にAutoFill機能が発動し、メールアドレスが変更されてしまった。
その結果、別画面で実施していたメアドの存在チェックが意味をなさなくなってしまった。
EditTextやめればいいじゃんという考えもあると思うけど、
OAuthログイン時にはここでメールアドレスの入力が必要になるなどの分岐が存在した。
まあ新規登録時にAutoFillは普通いらないはず。