Custom ListView với ImageView và TextView trong Android

Trong bài viết này, mình sẽ hướng dẫn các bạn custom một ListView. Thường thường, khi làm dự án thì leader sẽ giao cho bạn làm task này trong vòng 1 ngày. Nhưng mình nghĩ sau khi đọc bài hướng dẫn này, bạn chỉ cần bỏ ra nửa ngày để hoàn thành, còn nửa ngày còn lại bạn đi support những đồng nghiệp nữ :))

Sau đây, mình sẽ hướng dẫn từng bước một để bạn có 1 ListView trông thật chuyên nghiệp 😀 Trong từng bước mình cũng kết hợp đề cập đến những quy tắc trong lập trình Android bạn nên tuân thủ. Hãy tập trung tu luyện nhé, bài viết này rất hữu ích cho bạn.

Mình sẽ tạo 1 ListView chứa 1 list các bài hát. Mỗi item bao gồm 1 hình ảnh minh hoạ, tiêu đề, tên ca sĩ, lượt view, số like và số dislike.

lap-trinh-android

Để tạo được ListView như vậy, các bạn cần phải thực hiện 6 bước sau:

Bước 1: Tạo mới một Project. Project Structure:

Lap trinh Android

Bước 2: Code trong main layout:

 

Bước 3: Tạo view item cho ListView:

Mình lấy icon từ trang Material Icons, các bạn có thể vào đây tìm icon mình cần, rất nhiều icon free :3

Khi đặt id cho từng control, các bạn nên đặt từ gợi nhớ trước id. VD: img_illustration, txt_count_dislike… Khi bạn tham chiếu đến id, chỉ cần viết chữ gợi nhớ đầu, bạn sẽ thấy 1 list id sổ ra cho bạn lựa chọn. Nó sẽ rất hữu ích khi bạn làm việc với nhiều control.

Bước 4: Tạo Entity để lưu dữ liệu cho từng hàng của ListView:

Để tự động get và set cho các thuộc tính, các bạn thực hiện như sau:

Lap trinh Android

Chuột phải chọn Generate…

Sau đó:

Lap trinh Android

Chọn Getter and Setter

Bước 5: Tạo Adapter để truyền dữ liệu cho ListView:

 

Bước 6: Set Adapter cho ListView trong MainMainActivity:

Mình khởi tạo dữ liệu trong hàm initData, sau đó truyền context(con trỏ this) và mảng dữ liệu(mMovieList) khi khởi tạo MoviewAdapter. Bạn dùng hàm setAdapter để truyền dữ liệu cho ListView.

Khi viết chương trình, các bạn nên tách thành các function nhỏ, mỗi method thực hiện 1 function. Không nên gộp quá nhiều function trong 1 method, sẽ gây khó khăn khi bạn đọc lại code hoặc người khác review code cho bạn.

Các bạn đừng quên thêm quyền Internet trong AndroidMenifest nhé!

Dưới đây là project của mình, các bạn có thể download về tham khảo, nhưng các bạn nên tự tay code để có thể nhớ lâu. Trong khi code thì nên tự đặt cho mình câu hỏi: Cái này dùng để làm gì? Nó thực hiện như thế nào? Tại sao lại dùng nó? bla…bla… Google là nơi có tất cả các câu trả lời phù hợp cho câu hỏi của các bạn. :))

CustomListView

Xem thêm: node js, java 8, string boot và thông tin tuyển dụng Android tại Tuyển dụng lập trình viên Android

 


android,
lập trình android,