cuốn sách gpt4 ai đã làm

android - Bộ điều hợp AutoCompleteTextView, bộ điều hợp "ẩn"?

In lại Tác giả: Taklimakan 更新时间:2023-11-02 23:07:20 27 4
mua khóa gpt4 Nike

Tôi có 3 AutoCompleteTextView và tôi muốn đăng ký 2 bộ điều hợp String[] trên chúng. Hiện tại, tôi đang làm điều này:

atw_from.setAdapter(new ArrayAdapter(ctx, android.r.layout.simple_dropdown_item_1line, stage_adapter));

Giả sử người dùng của tôi muốn nhập "Középmező", anh ta bắt đầu nhập "Közé" và được nhắc chọn Középmező, cho đến thời điểm này, việc này khá đơn giản. Tuy nhiên, nếu người dùng lười gõ dấu (và nhiều người cũng lười) nên sẽ chỉ gõ Kozepmezo, sau đó sẽ không nhận được dấu ngoặc kép nào vì trong String[] của tôi không có Kozepmezo. Điều tôi muốn là nếu anh ấy gõ "Koze", anh ấy phải được cung cấp Középmező để ngay cả khi anh ấy không sử dụng dấu, anh ấy sẽ luôn được cung cấp từ thực tế có dấu.

Hiện tại tôi có một giải pháp rất ngu ngốc, tôi có một String[] có kích thước gấp đôi so với bản gốc[], với nửa đầu chứa từ có dấu và nửa sau chứa phiên bản không có dấu. Vì vậy, bây giờ, nếu anh ấy gõ Közé, anh ấy sẽ nhận được Középmező, và nếu anh ấy gõ Koze, anh ấy sẽ nhận được Kozepmezo. Nó hoạt động vì máy chủ có thể xử lý cả hai phiên bản, nhưng nó trông ngớ ngẩn và tôi muốn sửa nó.

Theo như tôi biết, tôi nên tạo một bộ chuyển đổi tùy chỉnh hoàn chỉnh. Đây có phải là cách tiếp cận tốt nhất hay có giải pháp nào được đưa vào SDK không? Nếu tôi nên tạo một bộ chuyển đổi tùy chỉnh, có ai có thể chỉ cho tôi hướng đi đúng về cách thực hiện không? :)

EDIT: Đã thêm câu trả lời của riêng tôi, sẽ phù hợp với mọi người, chúc mừng các câu trả lời khác, điều này đã chỉ cho tôi đi đúng hướng!

câu trả lời hay nhất

Chà, sau rất nhiều đau đớn khi giải quyết vấn đề này, đây là điều tôi đã làm. Đây hoàn toàn không phải là một cách thực hành tốt và có thể tôi đã làm sai, nhưng ít nhất hiện tại nó đang hoạt động tốt.

Trực tiếp ctrl+c, ctrl+v Bộ chuyển đổi cơ sởMã nguồn và ctrl+c, ctrl+v ArrayAdapter Bây giờ hãy xem mã nguồn ArrayFilter bên trong riêng tư, đặc biệt là phương thức performanceFiltering. Sửa đổi (không ghi đè!) theo cách bạn muốn, trong trường hợp của tôi, tôi đã thêm rất nhiều nội dung .replace("x","y") cho phần loại bỏ trùng lặp.

Bất kể tôi đã cố gắng thế nào, nó đều tạo ra lực đóng không thể đoán trước (rất nhiều trong số đó và hoàn toàn ngẫu nhiên) hoặc tôi không thể làm điều đó vì có quá nhiều phương thức/biến là riêng tư, không được bảo vệ. Tôi phải nói rằng, Google nên xem lại mã này...

LƯU Ý: Bạn không thực sự cần mã ctrl+c ctrl+v BaseAdapter vì đây là lớp trừu tượng công khai, nhưng này, nó không có nhiều mã nên mọi thứ đều ở đó và hiển thị rõ ràng cho bạn.

chúc mừng

Giới thiệu về android - Bộ điều hợp AutoCompleteTextView, bộ điều hợp "ẩn"? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/9658308/

27 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress