Hướng dẫn sử dụng listview multiple selection

Tiếp theo bài viết hướng dẫn sử dụng expandable listview trong android, hôm nay chúng tôi giới thiệu đến bạn đọc bài hướng dẫn sử dụng listview multiple selection, nghĩa là sử dụng listview cho phép người dùng chọn nhiều dòng thay vì chỉ một dòng di nhất. Bên dưới là một số hình ảnh của ứng dụng mẫu khi chạy trên thiết bị.

Khi chạy ứng dụng dữ liệu được hiển thị vào Listview là những dòng sản phẩm của Apple với iPhone, iPad và iMac. Mỗi sản phẩm được hiển thị trên một dòng

Khi người dùng chạm và giữ trên một dòng, trong hình chúng tôi đã chọn 2 sản phẩm là iPhoneiMac. Dòng nào được chọn sẽ được tô màu nền là màu xanh lá cây để phân biệt với dòng chưa được chọn. Và ngay khi chúng tôi chọn một dòng nào đó, ở phía trên xuất hiện thanh công cụ cho biết số dòng được chọn (2 Selected) và xử lý xóa (DELETE)

Khi chúng tôi chọn DELETE, 2 dòng được chọn sẽ bị xóa khỏi Listview

Hướng dẫn sử dụng listview multiple selection – Các bước thực hiện

1/ Sử dụng Android Studio để tạo một Android Project

2/ Mở res/layout/activity_main.xml và thêm vào một Listview, đặt id cho ListView là lvMulChoiceDemo

hướng dẫn sử dụng listview multiple selection

3/ Tạo một thư mục tên menu bên trong thư mục res

Chuột phải res -> chọn New -> chọn Android resource directory -> tại màn hình New Resource Directory, trong danh sách xổ xuống và chọn menu tại mục Resource type -> chọn OK

4/ Thiết kế menu cho Action Mode (Menu sẽ xuất hiện ngay khi người dùng chọn một dòng trên ListView)

Chuột phải menu -> chọn New -> chọn Menu resource file -> nhập activity_main tại File name -> chọn OK

Android Studio sẽ tạo một file activity_main.xml bên trong thư mục menu. Bạn hãy nhập nội dung cho file activity_main.xml như sau:

5/ Mở app/java/MainActivity.java và nhập code tại phương thức onCreate()

Chuẩn bị nội dung hiển thị lên ListView

//Gia Sư Tin Học
final ArrayList<String> data = new ArrayList<>();
data.add("iPhone");
data.add("iPad");
data.add("iMac");

Tạo adapter cho ListView

final ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1, data);
final ListView lv = (ListView) findViewById(R.id.lvMulChoiceDemo);
lv.setAdapter(adapter);

Thiết lập cho phép chọn nhiều dòng

lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);

Đăng ký và xử lý sự kiện MultiChoiceMode

6/ Build và run ứng dụng

Bạn đọc tải code đầy đủ của file MainActivity.java