SlideShare a Scribd company logo
ANDROID APPLICATION
          DEVELOPMENT
                         ListView & Binding




hoccungdoanhnghiep.com
Nội dung
 ListView
 Binding data to ListView




hoccungdoanhnghiep.com
ListView
 Có khả năng hiển thị 1 danh sách các item
 Người dùng có thể cuộn lên/xuống để duyệt qua
  các item này
 ListView nhận dữ liệu truyền vào từ Adapter
 Adapter quy định mỗi row trong list hiển thị như
  thế nào
 Adapter được gán qua phương thức setAdapter
  của listview obj, hoặc setListAdapter ở
  ListActivity


hoccungdoanhnghiep.com
Basic ListView
 Khởi tạo 1 layout để mô tả content của 1 row
  trong list view muốn hiển thị:
  /res/layout/listnotes_item.xml
 Activity hiển thị listview sẽ được extends từ
  class ListActivity
 Để kết nối từ listview - layout - nội dung hiển thị,
  sẽ cần lớp Adapter:
   Khởi tạo array các string muốn đưa vào list:
    String[]
   new ArrayAdapter<String>(this, layout, String[]);
   gán vào listview: setListAdapter

hoccungdoanhnghiep.com
Các loại Adapter cho ListView
 BaseAdapter: lớp common chứa các phương
 thức để gán data cho ListView hoặc spinner
  ArrayAdapter: Thường dụng để xử lý các loại
   content dạng Array hoặc List
  SimpleCursorAdapter: chuyên sử dụng để handle
   các loại data liên quan đến cursor lấy được từ
   sqlite db




hoccungdoanhnghiep.com
Custom Adapter
 Để tùy biến các adapter theo ý muốn, ta thừa kế lớp
  tương ứng. Ở trong ví dụ này: public class
  NoteCursorAdapter extends SimpleCursorAdapter
 Khởi tạo layout dành riêng cho item trong list: /res/layout/
  note_item.xml
 Trong class NoteCursorAdapter:
   Khai báo constructor: public NoteCursorAdapter(Context
    context, Cursor cursor, String[] from, int[] to)
   Khai báo nested static class ItemViewHolder chứa các thành
    phần của 1 item trong list. Class này sẽ giữ lại các thành
    phần của layout khi bind data tương ứng vào
   Override hàm: public View getView(int position, View
    convertView, ViewGroup parent)
      Trong hàm này, set up các thành phần tương ứng cho item trong list
        để hiển thị
 hoccungdoanhnghiep.com
Các thành phần có thể tùy biến nhờ custom Adapter

 Layout cho mỗi item bên trong list view
 Event tương ứng với các subview của layout-
 item




hoccungdoanhnghiep.com
Xử lý sự kiện cho ListView
 ListView thường được bắt sự kiện
  setOnItemClickListener để handle mỗi khi người
  dùng click vào row trong list
 Để bắt được sự kiện này, trong layout của item,
  các subview mà có khả năng focusable phải set
  thành false:
   android:focusable="false"
    android:focusableInTouchMode="false"
   Các subview gồm: ImageView, ImageButton,
    Button,…


hoccungdoanhnghiep.com
Bài tập về nhà




hoccungdoanhnghiep.com
Tham khảo
  http://www.vogella.com/articles/AndroidListView/article.htm
  API Demo app
  http://www.youtube.com/watch?v=DHXGk8KHC7I
  http://www.softwarepassion.com/android-series-custom-lis




hoccungdoanhnghiep.com

More Related Content

PPT
Bài 4: Event handle, Action & Intent
PPT
Giới thiệu Android- Bài 2
PPT
Bài 6: Working with DATA
PPT
IT120-3. Thiết kế giao diện trên Android
PPT
Slide bài giảng lập trình Android DTU - Phần 2 (Thiết kế giao diện)
PPTX
Hướng Dẫn Lập Trình Android: 3. Thiet ke giao dien tren Android
PPT
3.thiet ke giao dien tren android
PDF
Flutter widget
Bài 4: Event handle, Action & Intent
Giới thiệu Android- Bài 2
Bài 6: Working with DATA
IT120-3. Thiết kế giao diện trên Android
Slide bài giảng lập trình Android DTU - Phần 2 (Thiết kế giao diện)
Hướng Dẫn Lập Trình Android: 3. Thiet ke giao dien tren Android
3.thiet ke giao dien tren android
Flutter widget

Recently uploaded (20)

PPTX
Vai trò vô cùng quan trọng để thuyết trình.pptx
DOCX
BÀI TIỂU LUẬN HẾT HỌC PHẦN TỔ CHỨC HOẠT ĐỘNG TRẢI NGHIỆM,HƯỚNG NGHIỆP Ở TRƯỜN...
PPTX
Powerpoint cho Ke toan tai chinh KET307_Bai1_SV.pptx
PPTX
Bài 9.4 TUYẾN SINH DỤC NAM VÀ NU CẤU TẠO VÀ CHỨC NĂNG
PPTX
Triết học: Vận dụng nguyên tắc phát triển trong nhận thức và hoạt động thực...
PPT
Bài giảng Cơ sở dữ liệu Table trong Access
DOCX
2024-2025 HSG HÓA 12 CỤM LẦN 3 - Hải Dương - đề.docx
PDF
Public economy và vai trò trong phân bổ nguồn lực, cung cấp hàng hóa công, đi...
PPTX
TIẾT 8, 9, 10. BÀI 32. DINH DƯỠNG VÀ TIÊU HÓA Ở NGƯỜI.pptx
DOCX
Báo cáo thực tập công ty Ah-GlobalGroup vị trí Data Analyst
PDF
Vision - Language - Model-- - Ebook.pdf
PPTX
1 CHƯƠNG MÔT- KHÁI LUẬN VỀ TRIẾT HỌC (1) [Read-Only].pptx
PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 GLOBAL SUCCESS - CẢ NĂM (30...
DOC
TẦM QUAN TRỌNG CỦA VIỆC TUÂN THỦ CÁC QUY TẮC AN TOÀN GIAO THÔNG ĐƯỜNG BỘ
PPTX
Chương 2 - Mô hình thực thể kết hợp.pptx
DOCX
Set menu 3 món rất hay và hiện đại dành cho người
PPTX
Tốc độ và vận tốc trong chuyển động thẳng
PPTX
The Fasciola Hepatica - medical prasitology
PPTX
White and Purple Modern Artificial Intelligence Presentation.pptx
DOCX
Bài tập trăc nghiệm vận tốc. tốc độ trong chuyển động thẳng
Vai trò vô cùng quan trọng để thuyết trình.pptx
BÀI TIỂU LUẬN HẾT HỌC PHẦN TỔ CHỨC HOẠT ĐỘNG TRẢI NGHIỆM,HƯỚNG NGHIỆP Ở TRƯỜN...
Powerpoint cho Ke toan tai chinh KET307_Bai1_SV.pptx
Bài 9.4 TUYẾN SINH DỤC NAM VÀ NU CẤU TẠO VÀ CHỨC NĂNG
Triết học: Vận dụng nguyên tắc phát triển trong nhận thức và hoạt động thực...
Bài giảng Cơ sở dữ liệu Table trong Access
2024-2025 HSG HÓA 12 CỤM LẦN 3 - Hải Dương - đề.docx
Public economy và vai trò trong phân bổ nguồn lực, cung cấp hàng hóa công, đi...
TIẾT 8, 9, 10. BÀI 32. DINH DƯỠNG VÀ TIÊU HÓA Ở NGƯỜI.pptx
Báo cáo thực tập công ty Ah-GlobalGroup vị trí Data Analyst
Vision - Language - Model-- - Ebook.pdf
1 CHƯƠNG MÔT- KHÁI LUẬN VỀ TRIẾT HỌC (1) [Read-Only].pptx
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 GLOBAL SUCCESS - CẢ NĂM (30...
TẦM QUAN TRỌNG CỦA VIỆC TUÂN THỦ CÁC QUY TẮC AN TOÀN GIAO THÔNG ĐƯỜNG BỘ
Chương 2 - Mô hình thực thể kết hợp.pptx
Set menu 3 món rất hay và hiện đại dành cho người
Tốc độ và vận tốc trong chuyển động thẳng
The Fasciola Hepatica - medical prasitology
White and Purple Modern Artificial Intelligence Presentation.pptx
Bài tập trăc nghiệm vận tốc. tốc độ trong chuyển động thẳng
Ad
Ad

Bài 8: ListView & Binding

  • 1. ANDROID APPLICATION DEVELOPMENT ListView & Binding hoccungdoanhnghiep.com
  • 2. Nội dung  ListView  Binding data to ListView hoccungdoanhnghiep.com
  • 3. ListView  Có khả năng hiển thị 1 danh sách các item  Người dùng có thể cuộn lên/xuống để duyệt qua các item này  ListView nhận dữ liệu truyền vào từ Adapter  Adapter quy định mỗi row trong list hiển thị như thế nào  Adapter được gán qua phương thức setAdapter của listview obj, hoặc setListAdapter ở ListActivity hoccungdoanhnghiep.com
  • 4. Basic ListView  Khởi tạo 1 layout để mô tả content của 1 row trong list view muốn hiển thị: /res/layout/listnotes_item.xml  Activity hiển thị listview sẽ được extends từ class ListActivity  Để kết nối từ listview - layout - nội dung hiển thị, sẽ cần lớp Adapter:  Khởi tạo array các string muốn đưa vào list: String[]  new ArrayAdapter<String>(this, layout, String[]);  gán vào listview: setListAdapter hoccungdoanhnghiep.com
  • 5. Các loại Adapter cho ListView  BaseAdapter: lớp common chứa các phương thức để gán data cho ListView hoặc spinner  ArrayAdapter: Thường dụng để xử lý các loại content dạng Array hoặc List  SimpleCursorAdapter: chuyên sử dụng để handle các loại data liên quan đến cursor lấy được từ sqlite db hoccungdoanhnghiep.com
  • 6. Custom Adapter  Để tùy biến các adapter theo ý muốn, ta thừa kế lớp tương ứng. Ở trong ví dụ này: public class NoteCursorAdapter extends SimpleCursorAdapter  Khởi tạo layout dành riêng cho item trong list: /res/layout/ note_item.xml  Trong class NoteCursorAdapter:  Khai báo constructor: public NoteCursorAdapter(Context context, Cursor cursor, String[] from, int[] to)  Khai báo nested static class ItemViewHolder chứa các thành phần của 1 item trong list. Class này sẽ giữ lại các thành phần của layout khi bind data tương ứng vào  Override hàm: public View getView(int position, View convertView, ViewGroup parent)  Trong hàm này, set up các thành phần tương ứng cho item trong list để hiển thị hoccungdoanhnghiep.com
  • 7. Các thành phần có thể tùy biến nhờ custom Adapter  Layout cho mỗi item bên trong list view  Event tương ứng với các subview của layout- item hoccungdoanhnghiep.com
  • 8. Xử lý sự kiện cho ListView  ListView thường được bắt sự kiện setOnItemClickListener để handle mỗi khi người dùng click vào row trong list  Để bắt được sự kiện này, trong layout của item, các subview mà có khả năng focusable phải set thành false:  android:focusable="false" android:focusableInTouchMode="false"  Các subview gồm: ImageView, ImageButton, Button,… hoccungdoanhnghiep.com
  • 9. Bài tập về nhà hoccungdoanhnghiep.com
  • 10. Tham khảo  http://www.vogella.com/articles/AndroidListView/article.htm  API Demo app  http://www.youtube.com/watch?v=DHXGk8KHC7I  http://www.softwarepassion.com/android-series-custom-lis hoccungdoanhnghiep.com