Tôi có một ListView với nhiều mục lựa chọn, nơi một số được kiểm tra ngay từ đầu bằng cách sử dụngmục Wrong kiểm tra khi lọc ListView trong Android
setItemChecked(position, true);
tôi kết hợp này với tùy chọn lọc
setTextFilterEnabled(true)
vì vậy nó dễ dàng tìm thấy một mục cụ thể trong danh sách.
Vấn đề là khi tôi lọc danh sách các mục chuyển đổi vị trí trong chế độ xem danh sách. Lấy ví dụ ba mục: 'A', 'B' và 'C' trong đó 'C' được kiểm tra trước (tức là mục nhập ở vị trí 3 trong danh sách). Khi tôi nhập 'C' trên bàn phím, chỉ mục 'C' mới được hiển thị (như dự định). Bây giờ 'C' không được kiểm tra nữa, vì mục nhập đã di chuyển từ vị trí đã chọn 3 đến vị trí không được chọn 1 trong danh sách.
Hành vi này dẫn đến một số hiệu ứng không được hoan nghênh trong ứng dụng. Có cách nào để "di chuyển lựa chọn bằng cách lọc", tức là gắn kết trạng thái đã chọn với mục nhập và không đến vị trí ban đầu của nó trong danh sách không? Hay tôi cần tìm một cách tiếp cận mới?
Cảm ơn,
Linus
Đau khổ từ cùng một vấn đề. Tôi biết nó đã được lâu, nhưng bạn đã quản lý để giải quyết vấn đề này? –
@ liorry: Tôi không thực sự nhớ, nhưng tôi nghĩ rằng tôi đã đi với đề nghị trong câu trả lời được chấp nhận. Cách đây đã lâu :) – aspartame
haha OK. Tôi mặc dù có thể bạn có thể chia sẻ mã ... Tôi đã sử dụng đề xuất nhưng một cái gì đó không làm việc cho tôi ... oh well, Thanks anyway;) –