2011-01-09 17 views
13

Im mất một chút về điều này về cách tạo các phần trong ListView khi bạn sử dụng cả hai con trỏ và một SimpleCursorAdapter tùy chỉnh.SimpleCursorAdapter với các mục trong Android

Nhiều tài liệu có tham chiếu bằng cách sử dụng getView() v.v. hoặc tạo một số Bộ điều hợp và thêm tiêu đề phần.

Nhưng những tất cả dường như được dựa trên BaseAdapters, ListAdapters, và ArrayAdapters, vv

Có ai giải quyết bất cứ điều gì tương tự như trước đây?

Nếu không, bất kỳ mẹo nào về cách thực hiện công việc này?

Cảm ơn Simon

Trả lời

9

Tôi đi theo this hướng dẫn và nó làm việc ra khá tốt. Mã cho phép bạn sử dụng bất kỳ loại nào của Adapter, vì vậy, mã này hoạt động tuyệt vời với ArrayAdapter hoặc CursorAdapter.

+0

Cảm ơn vì điều đó. Tôi đã phải quấn đầu của tôi xung quanh thực tế tôi cần sử dụng SeparatedListAdapter, về bản chất là một trình bao bọc cho các adapter tùy chỉnh hiện tại của tôi. – Simon

9

Nếu bạn đang sử dụng CursorAdapter, bạn có thể sử dụng SectionCursorAdapter của mình.

+0

Chúc mừng, điều này làm việc tuyệt vời với SimpleCursorAdapters để có các phần được sắp xếp theo thứ tự bảng chữ cái trong ListView của tôi. Điều này đã được nhiều công việc hơn tôi nghĩ, tôi nghĩ SimpleCursorAdapter hư hỏng tôi trong nó đơn giản! – georgiecasey

+0

Nó không hiệu quả đối với cơ sở dữ liệu SimpleCursorAdapter với danh sách các mục dài vì bạn phải lặp qua tất cả các mục để tính toán tiêu đề. Nếu con trỏ được trả về bằng truy vấn GROUP BY thì tốt hơn rất nhiều so sánh tiêu đề (giá trị được nhóm) của mục hiện tại so với mục trước và tiếp theo để xác định xem chúng ta có phần mới hay không. –

+0

Bạn có thể muốn sử dụng AlphabetIndexer để tính toán các phần. – ycagri

2

Một tính năng tuyệt vời khác đang được phát triển tích cực là SectionCursorAdapter và hỗ trợ chế độ gradle. Người tạo ra nó cũng đã hứa rằng nó sẽ được cập nhật để hỗ trợ RecyclerView khi nó được chính thức phát hành. Bạn cũng có thể xem bài đăng trên blog về nó tại ToastDroid