Bài 3 trình bày các nội dung liên quan đến ListView và cách tạo Custom Layout cho ListView. Thông qua bài giảng này người học có thể biết được ListView là gì? Các bước thực hiện để sử dụng một ListView, các xử lý trên ListView,... Mời các bạn cùng tham khảo để nắm bắt các nội dung chi tiết.
Trang 1Trường ĐH Khoa Học Tự Nhiên Tp Hồ Chí Minh
TRUNG TÂM TIN HỌC
2015
Lập trình Android
Bài 3: ListView Tạo Custom Layout cho ListView
Ngành Mạng & Thiết bị di động
www.t3h.vn
Trang 2I. ListView
1. ListView là gì?
2. Các bước thực hiện để sử dụng một ListView
3. Các xử lý trên ListView
II Tạo Custom Layout cho ListView
Nội dung
Trang 31 ListView là gì?
ListView là một dạng điều
khiển nâng cao có chức
năng hỗ trợ hiển thị dữ
liệu theo dạng từng dòng.
Trang 42 Các bước thực hiện để sử dụng ListView
Bước 1: Đưa dữ liệu cần hiển thị lên ListView vào một mảng
hoặc danh sách (ArrayList, mảng thông thường, mảng đối
tượng,…).
Bước 2: Tạo một ListView trên giao diện.
Bước 3: Tạo một đối tượng ArrayAdapter để liên kết giữ
ListView và mảng hoặc danh sách dữ liệu.
ArrayAdapter là gì?
ArrayAdapter được hiểu như cái modem mạng Nó giúp
ListView có thể “đọc và hiểu” dữ liệu từ mảng dữ liệu để
hiện lên giao diện.
Trang 53 Các xử lý trên ListView
Lấy ListView thông qua Id của ListView
ListView lvTenLV = (ListView) findViewById(R.id.idcuaListView);
Tạo ArrayAdapter
ArrayAdapter<[Kiểu mảng]>[Tên mảng adapter];
Đưa dữ liệu từ mảng vào ArrayAdapter
[Tên mảng adapter] = new ArrayAdapter<Kiểu mảng>
(this,android.R.layout.simple_list_item_1,[tenMangDuLieu]);
Cách đổ dữ liệu lên ListView
lvTenLV.setAdapter(tenMangAdapter);
Trang 6I. ListView
II. Tạo Custom Layout cho ListView
1. Custom Layout là gì? Tại sao phải tạo Custom Layout?
2. Cách sử dụng ImageView
3. Các bước thực hiện để tạo Custom Layout cho ListView
4. Hướng dẫn tạo lớp ArrayAdapter
Nội dung
Trang 7 Custom Layout là layout được tạo và tùy biến lại cho phù
hợp với yêu cầu sử dụng.
Minh họa sự khác nhau giữa ListView sử dụng layout bình
thường và ListView có layout đã được tùy biến:
2 Tại sao phải tạo Custom Layout?
Trang 82 Cách sử dụng ImageView
Tạo giao diện sử dụng ImageView:
Chọn biểu tượng ImageView trong Palette →Images & Media →
ImageView
Lấy ImageView đã tạo thông qua Id của nó:
ImageView tenImageView =(ImageView)findViewById(R.id.idImageView);
Đưa hình ảnh vào ImageView:
tenImageView setImageDrawable(R.drawable.tenHinh);
Chú ý: Ở đây, hình nằm trong thư mục res/drawable Tên hình phải viết liền và chữ đầu tiên phải là chữ thường.
Trang 93 Các bước tạo và sử dụng Custom Layout
Sau khi đã có ListView trên giao diện, chúng ta có thể tạo
Custom Layout cho ListView như sau:
Bước 1: Tạo thêm một layout cho một item của ListView.
Bước 2: Tạo lớp Custom Adapter kế thừa từ lớp
ArrayAdapter.
Bước 3: Tạo một lớp dùng để quản lý dữ liệu.
Bước 4: Hiển thị dữ liệu lên ListView.
Trang 10 Lớp Custom ArrayAdapter kế thừa từ lớp ArrayAdapter
public class CustomAdapter extends ArrayAdapter<[Kiểu mảng]>{
public CustomAdapter( Context context, int resource,
ArrayList<[Kiểu mảng]> objects) {
super( context , resource , objects );
}
}
4 Lớp Custom ArrayAdapter
Trang 11Lập trình Android 11
4 Lớp Custom ArrayAdapter
Phương thức getView()
@Override
View view = null;
LayoutInflater inflater = (LayoutInflater) context.getSystemService
(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(resId, null);
//Lấy các điều khiển
.
//Lấy nội dung cần hiển thị ở vị trí thứ position
[Kiểu mảng] c = tenMang.get(position);
if (c != null) {
//Đưa thông tin lên TextView và hình lên ImageView
textView.setText(c.getThongTin());
imageView.setImageResource(c.getImg_id());
}
return view;
}
Trang 12Với các tham số:
Chú ý:
View là dạng tham chiếu đối tượng, nên mọi sự thay đổi của
các đối tượng bên trong View thì nó cũng biết sự thay đổi đó
trả về view này, tức là trả luôn về các thông số mới mà ta vừa
thay đổi.
4 Lớp Custom ArrayAdapter
Trang 13Lập trình Android – Module 1 13