2010-07-22 16 views
5

Tôi đã có ListView trên màn hình. Nó được cuộn lên đầu. Tôi thấy 6 hàng. Và khi tôi Đăng nhập getFirstVisiblePosition() và getLastVisiblePosition(), nó nói 0 và 6.Làm getFirstVisiblePosition của ListView và getLastVisiblePosition nằm?

GetLastVisiblePosition() có thực sự trở về vị trí không nhìn thấy đầu tiên không? Nói cách khác, nên thử nghiệm của tôi cho dù một hàng cụ thể là trên màn hình được không

first <= row && row <= last 

mà là

first <= row && row < last 

?

+0

hi Carl lạ vấn đề tôi đã nhận được cùng, đôi khi tôi nhận được chỉ số chính xác, đôi khi thất bại = ( – Jorgesys

Trả lời

1

Vâng, có thể có phần hiển thị lần cuối số 6 trong trường hợp của bạn, điều đó thực sự được phát hiện là có thể nhìn thấy (có thể chỉ là một phần nhỏ xuất hiện ở cuối màn hình). Nhưng trong mọi trường hợp nếu nó cho thấy rằng số lượng là 7, tại sao không đi với nó? Tôi có nghĩa là bất cứ điều gì bạn làm cho hàng đó sẽ không thực sự được nhìn thấy, cộng với xem đã được ràng buộc trong bộ chuyển đổi và phương pháp getView trong bộ điều hợp sẽ không được gọi một lần nữa.

Một điều nữa với mã thứ hai của bạn là, ví dụ, khi bạn chỉ có một chế độ xem thì giá trị đầu tiên sẽ bằng 0, hàng sẽ là 0 và cuối cùng sẽ là 0 và các điều kiện của bạn sẽ không được đáp ứng. Không biết nếu điều này giúp bạn trong bất kỳ cách nào nhưng vẫn ...

Các vấn đề liên quan