2011-01-25 37 views
6

Tôi đang cố gắng thiết lập Bố cục GridView hình ảnh và điều này liên quan đến việc tạo ra một lớp mới từ lớp BaseAdapter. Tôi đã sử dụng hướng dẫn trên trang web developer.android.com, nhưng tôi vẫn không hiểu ý nghĩa của nó. Ai đó có thể xin vui lòng giải thích cho tôi những gì chính xác là một BaseAdapter? Tôi không hiểu định nghĩa được cung cấp bởi trang web dành cho nhà phát triển Android.Tìm hiểu về BaseAdapters và cách sử dụng chúng

Cảm ơn

Trả lời

3

http://developer.android.com/resources/tutorials/views/hello-gridview.html

Các GridView là một lớp con của một loại quan điểm được gọi là một AdapterView. Chúng thường chứa một số Chế độ xem nhỏ hơn, nhưng dựa vào Bộ điều hợp để cung cấp cho chúng các Chế độ xem đó. Lớp BaseAdapter là một lớp mà bạn mở rộng để ghi đè lên các phương thức mà nói cho AdapterView (GridView của bạn) những gì để hiển thị. Phương pháp quan trọng nhất để ghi đè là phương thức getView(), trong đó bạn trả về View để hiển thị ở một vị trí cụ thể trên lưới.

Trong khi thiết lập này hơi khó hiểu và phức tạp, các nhà phát triển Android đã chọn điều này vì tất cả các tối ưu hóa được phép. Rất nhiều tối ưu hóa cho AdapterViews thu được bằng cách tái sử dụng Views thay vì tạo mới trong phương thức getView. Đây là đối số convertView bạn có thể thấy trong phương thức getView. Nếu convertView == null, thì phương thức cần tạo một đối tượng View mới và trả về nó, một hoạt động tốn kém. Nếu nó không phải là null, thì Adapter có thể tái sử dụng View, đơn giản là thay đổi hình ảnh trong ví dụ hướng dẫn đó.

19

Bộ điều hợp được sử dụng để liên kết dữ liệu với chế độ xem. Xem AdapterView:

Một AdapterView là một cái nhìn mà trẻ em được xác định bởi một Adapter.

Một số chế độ xem bố cục xuất phát từ AdapterView như GridView, ListView và Gallery.

Tất nhiên, bạn thường không sử dụng trực tiếp AdapterViewAdapter, mà là sử dụng hoặc lấy được từ một trong các lớp con của họ. Các lớp con của Bộ điều hợp có thể thêm chức năng bổ sung thay đổi cách bạn nên ràng buộc dữ liệu để xem.

BaseAdapter là lớp cơ sở trừu tượng cho giao diện Bộ điều hợp để đơn giản hóa bộ điều hợp triển khai. Bạn có thể thực hiện của riêng bạn, nhưng khung công tác cung cấp một số bộ điều hợp khá linh hoạt. Một số adapter phổ biến là:

ArrayAdapter,

  • liên kết với một loạt các dữ liệu đến một cái nhìn
  • override getView() để thổi phồng, cư, và trả về một giao diện tùy chỉnh cho các chỉ số được đưa ra trong mảng. Phương pháp getView() bao gồm cơ hội sử dụng lại lượt xem thông qua tham số convertView.

CursorAdapter,

  • liên kết dữ liệu từ một con trỏ (giống như một con trỏ cơ sở dữ liệu) để một cái nhìn
  • trừu tượng, do đó bạn không sử dụng nó trực tiếp, sử dụng một lớp con hoặc lấy của riêng bạn
  • triển khai phương pháp trừu tượng newView() để tăng, điền và trả lại chế độ xem mong muốn cho vị trí con trỏ hiện tại và triển khai phương thức trừu tượng bindView để cư một cái nhìn hiện đang được tái sử dụng ..

SimpleCursorAdapter,

  • một thực hiện cụ thể của CursorAdapter
  • nó có thể mất một cách bố trí hàng và một ánh xạ các cột con trỏ để tiện ích bố cục hàng
  • hỗ trợ văn bản và hình ảnh nhưng có thể tùy chỉnh sử dụng setViewTextsetViewImage
  • có thể hỗ trợ các loại khác và có thể tùy chỉnh liên kết thông qua móc: khách hàng triển khai giao diện SimpleCursorAdapter.ViewBinder với phương thức setViewValue() để tăng, điền và trả về chế độ xem mong muốn cho một hàng nhất định (trạng thái con trỏ hiện tại) và dữ liệu "cột". Phương thức này có thể định nghĩa các khung nhìn và các ràng buộc "đặc biệt", nhưng vẫn trì hoãn hành vi chuẩn của SimpleCursorAdapter cho các ràng buộc "bình thường".
Các vấn đề liên quan