Tôi đã đọc tất cả tài liệu trực tuyến về xây dựng giao diện tìm kiếm và thêm đề xuất tùy chỉnh ... nhưng tôi vẫn chưa rõ cách hoạt động của đề xuất này. Tài liệu nói rằng tôi phải "Xây dựng một bảng (chẳng hạn như trong một SQLiteDatabase) cho các đề xuất của bạn và định dạng bảng với các cột bắt buộc". Tôi giả sử hệ thống cuối cùng sẽ điền vào bảng này với các gợi ý thích hợp ... nhưng quá trình/lớp nào chịu trách nhiệm cho điều này, và khi nào việc chèn thực sự xảy ra (trước khi bất kỳ truy vấn nào được thực hiện bởi người dùng, sau một truy vấn đã được thực hiện bởi người sử dụng, vv)?SearchManager - thêm các đề xuất tùy chỉnh
Và mặc dù tôi đang đặt câu hỏi ở đây, nếu ai đó có thể làm rõ sự khác biệt giữa một số AutoCompleteTextView
và một đề xuất tùy chỉnh w/custom SearchView
... thật tuyệt vời. AutoCompleteTextView
có vẻ dễ dàng thực hiện dễ dàng so với SearchView
(yêu cầu thay đổi đối với lớp trợ giúp ContentProvider
, SQLiteDatabase, v.v.).
OK ... Tôi nghĩ rằng tôi đang bắt đầu hiểu. Nhưng khi nào/ở đâu là những gợi ý được chèn vào một bảng và các đề xuất có định dạng nào? Đó là những gì tôi đang bối rối. Tôi cho rằng loại tính năng đề xuất "tự động hoàn tất" này sẽ được triển khai bằng Trie hoặc một cái gì đó ... –
tức là bảng đề xuất trông như thế nào? hoặc là bảng kết quả không nhất thiết phải là con người có thể đọc được? khi nào bảng này được tạo ra (bạn có cần phải tạo nó bằng cách sử dụng 'execSQL') không? –
tôi muốn có tính năng tìm kiếm "tự động hoàn tất/đề xuất hoàn thành" đơn giản trên một cột nhất định trong cơ sở dữ liệu của tôi ... nhưng nếu nó có nghĩa là thay đổi toàn bộ cơ sở dữ liệu của tôi và gây rối với một loạt tệp, tôi luôn có thể quay lại cho nó vào một ngày sau đó (mặc dù tôi vẫn tin rằng điều này không nên mất nhiều thời gian để thực hiện! tất cả tôi muốn là hệ thống tự động hoàn thành trên một cột duy nhất của chuỗi trong cơ sở dữ liệu của tôi!). –