ADAPTER TRONG ANDROID LÀ GÌ

Một Adapter là một đối tượng người dùng của một lớp thiết lập giao diệnAdapter. Nó đóng trách nhiệp vai trò như là 1 trong liên kết giữa một tập hợp dữ liệu và một Adapter View, một đối tượng người sử dụng của một lớp thừa kế lớp trừu tượngAdapterView. Tập vừa lòng dữ liệu rất có thể là bất kể điều gì mà trình bày dữ liệu một cách có cấu trúc. Mảng, những đối tượngListvà các đối tượngCursorthường áp dụng bộ dữ liệu.

Bạn đang xem: Adapter trong android là gì

Một Adapter có trách nhiệm lấy dữ liệu từ bộ dữ liệu và tạo thành các đối tượngViewdựa trên dữ liệu đó. Các đối tượngViewđược chế tạo ra sau đó được sử dụng để gắn lên bất kỳ Adapter View nhưng mà ràng buộc cùng với Adapter

Bạn rất có thể tạo những lớp Adapter riêng của người tiêu dùng từ đầu, nhưng hầu hết các nhà cách tân và phát triển muốn sử dụng hoặc quá kế những lớp Adapter được hỗ trợ bởi game android SDK, ví dụ điển hình nhưArrayAdaptervàSimpleCursorAdapter. Trong gợi ý này, chúng ta sẽ tập trung vào lớpArrayAdapter.

Dưới đây sơ đồ vật Apdapter

*

Adapter View thao tác như núm nào?

Adapter View hoàn toàn có thể hiển thị những bộ dữ liệu lớn khôn cùng hiệu quả. Ví dụ,ListViewvàGridViewcó thể hiển thị sản phẩm triệu bộ phận mà không có bất kể độ trễ đáng chú ý nào trong những khi vẫn sử dụng bộ lưu trữ và CPU vô cùng thấp. Chúng hoàn toàn có thể làm điều đó như gắng nào? các Adapter View khác nhau tuân theo những chiến lược khác nhau. Tuy nhiên, đây là những gì mà phần nhiều chúng thường xuyên làm.

Chúng chỉ kết xuất phần đông đối tượngViewmà đang trên screen hoặc nó đang dịch chuyển vào màn hình. Bằng cách này, bộ nhớ tiêu thụ bởi một Adapter View có thể được cố định và tự do với form size của tập dữ liệu.Chúng cũng được cho phép các nhà cách tân và phát triển giảm thiểu công sức cho các hoạt động inflate layout với tái sử dụng những đối tượngViewsẵn bao gồm đã dịch rời khỏi màn. Điều này sẽ giúp tiêu thụ CPU thấp.

*

Apdapter trong Android

Trong Android, Adapter thường xuyên được sử dụng để link dữ liệu với UI

BaseAdapter–Là lớp adpater cơ sở cho các Adapter khácArrayAdapter–Một ListAdapter rất có thể quản lí một ListView chứa danh sách các phần tử có vẻ bên ngoài bất kìCustom ArrayAdapter– thường được thực hiện để hiển thị một list tùy chỉnhSimpleAdapter–Nó là một trong những Adapter đơn giản và dễ dàng và dễ nắm bắt để ánh xạ dữ liệu vào gần như View được định nghĩa trong một tập tin XMLCustom SimpleAdapter– Nó được sử dụng để hiển thị một danh sách được thiết lập để truy vấn các mục bé của danh sách hoặc Grid.

Chúng ta đã xem cụ thể từng Adapter1. BaseAdapterLà lớp adpater cơ sở cho những Adapter hay sử dụng khác như ArrayAdapter, CursorAdapter, SimpleAdapter. BaseAdapter thường đóng góp vaitrò Adapter cho các ListView và Spinner đang được tò mò trong những phần tiếp theo.

Xem thêm: 7 Sao Nam Hàn Quốc Thích Diện Đồ Khoe Body Nam Hàn Quốc Có Body Đẹp Nhất

public class CustomAdapter extends BaseAdapter {
Chú ý: rất có thể dùng lớp ListAdapter hoặc lớp SpinnerAdapter có tác dụng Adapter lần lượt mang đến ListView với Spinner. Nhưng mà 2 lớp này chỉ với lớp ảo xuất bản trên lớp BaseAdapter mà thôi.


Ví dụ trên chúng ta override lại những phương thức củaBaseAdapter được thực hiện để tùy chỉnh lại tài liệu trong ListView, GirdView, Spinner.2. ArrayAdapterMột ListAdapter có thể quản lí một ListView chứa danh sách các phần tử có thứ hạng bất kì. Câu hỏi rất 1-1 giản, bạn chỉ cần “móc nối” tài liệu với TextView trải qua ID của chính nó với mỗi chiếc trong ListView là 1 trong những TextView – ví dụ như ListView gồm list tên sinh viên mà thôi. Nếu bạn muốn mỗi mẫu ListView phức tạp hơn tức là gồm những thành phần hơn nữa thì nên cần sử dụng một mảng nhằm giữ tất cả các IDcủa các TextView trong. Từng cách làm sẽ được nói trong những phần sau.

ArrayAdapter(Context context, int resource, int textViewResourceId, T<> objects)3. Custom ArrayAdapterThông thường xuyên ở chính sách mặc định các item (hay những dòng) trong ListView chỉ hiển thị các dòng text. Để tùy biến các item của ListView nhìn xin xắn hơn, lập trình viên có thể thêm các hình tượng (icon), checkbox hoặc bất kể cái gì vào item. Đơn giản chỉ là hỗ trợ dữ liệu mang lại adapter để tạo thành tập các đối tượng người dùng hiển thị (view objects) cho từng item.

public class MyAdapter extends ArrayAdapter public MyAdapter(Context context, int resource, int textViewResourceId, danh sách objects) super(context, resource, textViewResourceId, objects);
Overridepublic View getView(int position, View convertView, ViewGroup parent) return super.getView(position, convertView, parent);4. Simple AdapterSimpleAdapter thì đúng thật chữ simple – tức solo giản. Nó là một trong Adapter dễ dàng và dễ nắm bắt để ánh xạ tài liệu vào các View được quan niệm trong một tập tin XML. Bạn có thể chỉ rõ dữ liệu sẽ tiến hành đóng gói trong một danh sách như là một trong những ArrayList của câu hỏi ánh xạ. Mỗi bộ phận trong ArrayList là một trong những thể hiện nay của một mẫu trên ListView. Công việc ánh xạ này nó cất dữ liệu cho mỗi dòng. Bạn có thể chỉ rõ một tập tin XML chứa đựng nhiều điều khiển (widget) mà được dùng để thểhiện một chiếc và ta vẫn ánh xạ từng quý giá trong từng thành phần trong ArrayList lịch sự từng widget vị trí từng dòng. Gắn tài liệu vào những Views xẩy ra trong 2 giao đoạn. Sẽ được trình bày trong các phần sau.

SimpleAdapter (Context context, List> data, int resource, String<> from, int<> to)5. Custom SimpleAdapterBất cứ bao giờ chúng ta phải tạo một list tùy chỉnh chúng ta cần phải tiến hành adapter tùy chỉnh. Như họ đã bàn thảo trước đó ArrayAdapter được sử dụng khi họ có một danh sách các mục tốt nhất được cung cấp bởi một Array. Bởi vậy, nếu chúng ta cần tuỳ vươn lên là trong một ListView hoặc một GridView, bọn họ cần phải tiến hành Adapter dễ dàng nhưng khi bọn họ cần các tuỳ biến chuyển hơn trong ListViewhoặc những GridView, chúng ta có nhiều lượt xem vào một mục trong danh sách và sau đó họ phải thực hiện bất kỳ sự khiếu nại nào như click hay ngẫu nhiên sự kiện cho một viewthì họ cần phải thực hiện một adapter tùy biến.

public class CustomAdapter extends SimpleAdapter {public CustomAdapter(Context context, List> data, int resource, String<> from, int<> to) super(context, data, resource, from, to);
Overridepublic View getView(int position, View convertView, ViewGroup parent) return super.getView(position, convertView, parent);
Chú ý:Chúng tôi ko thể triển khai các sự kiện như click và các sự kiện không giống trên mục nhỏ của mộtListView hoặc GridView. Nhưng chúng ta cũng có thể làm phần lớn đó thông quaSimpleAdapter