Listview trong Android với Xamarin (Bài 6)

Listview trong Android với Xamarin (Bài 6)

listview-trong-android-voi-xamarin-1-1024x388
Lập trình Android với Xamarin

Listview trong Android với Xamarin (Bài 6)

Listview trong Android với Xamarin là một thành phần dùng để nhóm nhiều mục (item) và hiển thị chúng trong danh sách cuộn theo chiều dọc.

Danh sách các mục được tự động chèn vào danh sách bằng cách sử dụng một adapter chứa nội dung từ một nguồn như một mảng hoặc cơ sở dữ liệu.

listview trong android với xamarin

Listview trong Android với Xamarin – Giới thiệu ArrayAdapter

Bạn có thể sử dụng adapter này khi nguồn dữ liệu của bạn là một mảng. Mặc định ArraryAdapter tạo một view cho mỗi phần tử trong mảng bằng phương thức toString() và đặt nội dung vào một TextView. 

Giả sử bạn có một mảng string chứa dữ liệu được dùng để hiển thị trong một ListView. Khởi tạo một đối tượng ArrayAdapter  sử dụng phương thức khởi tạo, chỉ định layout và mảng string (data).

listView.Adapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleListItem1, data); 

Listview trong Android với Xamarin – Các bước thực hiện

Bước 1: Chuẩn bị nội dung hiển thị lên ListView (Nội dung này có thể đọc từ file, database, internet, hoặc đơn giản thiết lập cố định trong code).

Bước 2: Tạo ArrayAdapter và liên kết vào ListView

Bước 3: Xử lý sự kiện (click hoặc long click) nếu có

Listview trong Android với Xamarin – Ví dụ

Giao diện ứng dụng gồm 1 ListView

Viết xử lý

List<string> data;
protected override void OnCreate(Bundle savedInstanceState)
{
 base.OnCreate(savedInstanceState);
 // Create your application here
 SetContentView(Resource.Layout.listview);
 var lvDemo = FindViewById<ListView>(Resource.Id.lvDemo);
 //Bước 1: Nội dung hiển thị lên ListView
 data = new List<string>();
 data.Add("Lập trình Android với Java");
 data.Add("Lập trình Android với C#");
 //Bước 2: Tạo Adapter và liên kết vào ListView
 lvDemo.Adapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleListItem1, data);
 //Bước 3: Xử lý sự kiện click
 lvDemo.ItemClick += LvDemo_ItemClick; 
}
private void LvDemo_ItemClick(object sender, AdapterView.ItemClickEventArgs e)
{
 Toast.MakeText(this, "Bạn vừa chọn " + data.ElementAt(e.Position), ToastLength.Short).Show();
}

Giao diện ứng dụng khi chạy

Khi người dùng click vào một item trên ListView

Listview trong Android với Xamarin – Bài tập thực hành

Ứng dụng cho phép quản lý các thông tin về nhân viên như  họ tên, ngày tháng năm sinh, nơi sinh, địa chỉ email

Khi người dùng chạm >>>, hiển thị Date Picker cho phép chọn ngày tháng năm

listview trong android với xamarin

Khi người dùng chọn vào “Please choose your province”, hiển thị danh sách cho phép chọn Tỉnh/TP

Khi người dùng chọn vào nút “ADD”, thông tin sẽ được hiển thị vào ListView

Khi người dùng long click vào một dòng trong ListView, hiển thị hộp thoại xác nhận. Nếu người dùng chọn “YES”, thông tin của nhân viên tương ứng với dòng được chọn bị xoá ra khỏi ListView

Alert: You are not allowed to copy content or view source !!