Tôi đã thiết lập SimpleCursorAdapter trên chế độ xem của mình và nó hoạt động tốt khi tôi tìm nạp dữ liệu từ cơ sở dữ liệu của mình. Truy vấn được chạy bằng mệnh đề DESC-ORDER BY date. Tất cả các hàng được lấy và hiển thị độc đáo trong ListView của tôi, và tôi đang sử dụng adapter.setViewBinder() để thêm một số logic vào các mục (thêm một hình thu nhỏ).Thêm dấu phân cách ngày cho SimpleCursorAdapter trong Android
Mã này là như thế này:
// Setup the adapter
adapter = new SimpleCursorAdapter(this, R.layout.rowitem, cursor, FROM, TO);
adapter.setViewBinder(new SimpleCursorAdapter.ViewBinder() {
@Override
public boolean setViewValue(View view, Cursor cursor, int columnIndex) {
// Only taylor the ImageView in the adapter-list, skip everything else.
if (view.getId() != R.id.imageItem)
return false;
// here goes the logic, but it's cut away due to its size
}
return true;
}
});
Bây giờ tôi muốn thêm một số logic hơn: Tôi muốn thêm một thanh tách nhỏ chứa ngày nếu ngày được thay đổi giữa hai mặt hàng, như thế này:
=== DATE1 ===============
Item 1
Item 2
=== DATE2 ===============
Item 3
=== DATE3 ===============
Item 4
Item 5
Item 6
=== DATE4 ===============
Item 7
v.v. Tuy nhiên, tôi không chắc chắn làm cách nào để chèn phần tử Chế độ xem mới bên trong bộ điều hợp và dường như tôi không thể tìm thấy câu trả lời trên developer.android.com.
Tôi làm cách nào để thực hiện việc này?
Tự khắc phục. Tôi chỉ cần thêm một Chế độ xem khác vào bố cục hàng, đã thêm một biến giả để lưu ngày duyệt cuối cùng. Nếu ngày trong mục danh sách tiếp theo giống nhau, hãy đặt chế độ hiển thị của Chế độ xem mới thành GONE. – bos
Tôi có nghĩ rằng điều này có nghĩa là việc khai thác vào DATE2 có nghĩa là bạn đang thực sự khai thác trên Mục 3? – chobok