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.
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ã –