2012-04-15 36 views
14

Khi tạo một tùy chỉnh adapter cho ListView trong android, tôi thấy rằng tôi phải tạo một lớp mở rộng ArrayAdapter lớp và triển khai phương thức getView(..).Khi getView() trong ArrayAdapter được gọi là

Tất cả điều đó là OK, nhưng tôi muốn biết chuỗi các phương thức gọi và thực thi. tức là trong đó mã số getView() đang được gọi?

+1

Tham khảo [LINK] này (http://www.ezzylearning.com/tutorial.aspx?tid=1763429&q=customizing-android-listview-items-with-custom-arrayadapter) nó có giải thích rõ ràng và rõ ràng về CustomAdapter woth mẫu mã –

Trả lời

7

Từ tài liệu android - Một đối tượng Adapter hoạt động như một cầu nối giữa một AdapterView (chẳng hạn như ListView trong trường hợp của bạn) và dữ liệu cơ bản cho chế độ xem đó. Bộ điều hợp cung cấp quyền truy cập vào các mục dữ liệu và cũng chịu trách nhiệm tạo Chế độ xem cho mỗi mục trong tập dữ liệu. Vì vậy, bất cứ khi nào ListView cần hiển thị một hàng dữ liệu cụ thể, nó yêu cầu bộ điều hợp liên quan để cung cấp khung nhìn tương ứng với dữ liệu tại vị trí đó thông qua phương thức getView(). Điều này có thể xảy ra bất cứ khi nào chế độ xem cần được cập nhật trên màn hình (ví dụ: trong khi tạo/cuộn, v.v.).

Là nhà phát triển ứng dụng, bạn không cần phải lo lắng chính xác tại thời điểm nào getView() được gọi miễn là bạn cung cấp triển khai getView() cụ thể trong bộ điều hợp của mình. Hãy chắc chắn rằng phương pháp này là hiệu quả (hình thu nhỏ vv nên được tải trong một chủ đề nền) cho hiệu suất tối ưu.

+0

Làm thế nào bạn có thể có audacity để nói với người hỏi rằng anh ta không cần phải lo lắng về sự hiểu biết làm thế nào những gì anh ta đang sử dụng công trình? –

0
getView(int position, View view, ViewGroup parent) 

được gọi cho

List of Objects 

của nos của các yếu tố sử dụng

getItem(int position) 

cho chiều dài của Danh sách của chúng tôi

như vậy, nó được gọi là nos lần cho đến khi toàn bộ danh sách của bạn đã được phân bổ một bố cục và dữ liệu từ danh sách.

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