“Thiếu thuộc tính autofillHints”


92

Tôi gặp sự cố với Palette -> Text
Khi tôi muốn thiết lập một số chế độ xem, tôi nhận được thông báo có vấn đề "Missing autofillHints attribute"
Bất kỳ đề xuất nào?


1
tools:ignore="Autofill"là cách duy nhất để bỏ qua cho bây giờ.
Pratik Butani,

Câu trả lời:


94

Có lẽ bạn đang sử dụng một EditText. autofillHintsđược sử dụng trong API 26 trở lên để điền vào các ô trống EditTextvà nó thực sự đề xuất loại nội dung nào nên được đặt vào đó.

Chỉ cần thêm :

android:autofillHints="username" // the type of content you want

Đến của bạn EditTextvà cảnh báo sẽ biến mất.

Bạn thực hiện việc này bằng cách sử dụng android:autofillHintsthuộc tính mới để cho biết autofill loại nội dung bạn mong đợiandroid:importantForAutofillcho biết autofillchế độ xem bạn muốn (hoặc không muốn) được lấp đầy.

Đọc: https://medium.com/@bherbst/getting-androids-autofill-to-work-for-you-21435debea1

Và cái này: https://developer.android.com/guide/topics/text/autofill-services


Biên tập:

Tuy nhiên, bạn có thể đặt:

android:importantForAutofill="no"

Đối với thành phần để nói rằng nó không quan trọng để lấp đầy và loại bỏ lỗi.


Một lần nữa lỗi :( "Thiếu nhãn năng tiếp cận" "Thuộc tính không sử dụng trên phiên bản cũ"
Sebastian

Tôi có thể xem ảnh chụp màn hình không? Nó sẽ biến mất sau đó.
ʍѳђ ઽ ૯ ท

Một lần nữa lỗi :( "Thiếu nhãn năng tiếp cận" "Thuộc tính không sử dụng trên phiên bản cũ"
Sebastian

Tôi người mới ở đây, vì vậy tôi chưa thể gửi hình ảnh :(
Sebastian

1
Lưu ý: "importantForAutofill" chỉ được sử dụng trong API cấp 26 trở lên
bunkerdive

91

Nếu bạn không muốn autofillHints

minSdk> = 26 .

Nên sử dụng android:importantForAutofill=nonếu bạn không muốn gợi ý tự động điền

<EditText
        android:importantForAutofill="no"/>

minSdk <26

1) Sử dụng tools:ignore="Autofill"

<EditText
        tools:ignore="Autofill"/>

2) Hoặc thêm android:importantForAutofillsau đó tools:targetApiđể IDE không cảnh báo này về cấp API

<EditText
        android:importantForAutofill="no"
        tools:targetApi="o"
 />

Nếu bạn muốn autofillHints

minSdk> = 26

  • Chỉ cần thêm android:autofillHints="{a contant value}"(ví dụ "android:autofillHints="password":) (sử dụng hằng số từ đây )

minSdk <26 , thêm tools:targetApiđể IDE không bị cảnh báo này

    <EditText
            android:autofillHints="email"
            tools:targetApi="o"/>

Ghi chú

  • autofillHintsimportantForAutofillchỉ được sử dụng trong API 26 trở lên nhưng chúng ta vẫn có thể sử dụng nó trong API <26 mà không bị lỗi ( bạn có thể xem trong câu trả lời này) (nó không bị lỗi nhưng tất nhiên nó không có bất kỳ ảnh hưởng nào với API <26)

  • tool:... chỉ sử dụng để làm cho IDE không cảnh báo, nó sẽ không ảnh hưởng gì khi ứng dụng đang chạy


2
Theo tài liệu - developer.android.com/reference/android/view/… - android:autoFillHintshằng số cho một địa chỉ email emailAddressthay vì chỉ email.
ban-geoengineering

@ ban-geoengineering nhận xét này hữu ích với tôi hơn toàn bộ câu trả lời. Cảm ơn rất nhiều
Kartik

Câu trả lời này có cấu trúc tốt hơn và dễ đọc hơn câu trả lời được chấp nhận.
Touhid

0

bạn cần tệp string.xml và kích hoạt văn bản chuỗi trong đó, ví dụ:

<string name="editText2">Name</string>.

thì bạn cần activity_mail.xml- và sau đó kích hoạt hoạt động autofillhint ở đó, bằng cách sử dụng:

android:hint="@string/editText2"

Không có giải pháp cho vấn đề
djardon
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.