Bài tập listview android linh kiện máy tính năm 2024

Đối với hầu hết các ứng dụng hiện nay, bao gồm ứng dụng có sẵn trên thiết bị lẫn ứng dụng từ hãng thứ ba phát triển có thể nhận thấy điều khiển được sử dụng nhiều nhất chính là ListView (hướng dẫn cơ bản ở bài 3 và nâng cao ở bài 12). Dạng điều khiển danh sách cho phép chúng ta lưu trữ được nhiều trường dữ liệu trên cùng một màn hình, tuy nhiên việc thao tác với từng mục sẽ khó hơn nếu không có sự hỗ trợ từ Context Menu, một dạng menu giống như chuột phải trên Windows vậy.

Tạo project trong thư mục res/values bổ sung vào tập tin strings.xml đoạn mã sau:

Bài tập listview android linh kiện máy tính năm 2024

Từ thư mục res/menu tạo tập tin context_menu.xml, đây là tập tin sẽ cấu hình nội dung cho menu, có nội dung như sau:

Bài tập listview android linh kiện máy tính năm 2024

Trong bài này ta sử dụng Listview để tương tác nên cần xây dựng một layout cho từng mục trên đó. Chuột phải vào thư mục res/layout à New à Android XML File à Phần File ta đặt tên tập tin là item_layout, phần Root Element ta chọn TextView. Chỉnh sửa nội dung giống như sau:

Bài tập listview android linh kiện máy tính năm 2024

Kéo điều khiển ListView vào trong tập tin activity_main.xml và bổ sung đoạn mã sau vào tập tin MainActivity.xml:

Bài tập listview android linh kiện máy tính năm 2024

Khởi chạy ứng dụng, nhấn và giữ một mục bất kỳ trên ListView ta sẽ thấy một pop-up xuất hiện, tuy nhiên lúc này ta vẫn chưa xử lý cho các mục trên menu.

Bài tập listview android linh kiện máy tính năm 2024

Để thực hiện xử lý ta cần Override lại phương thực OnContextItemSelected, ở đây có ba thao tác (Delete-Update-Share) nhưng tôi chỉ thực hiện phần Delete, hai thao tác còn lại các bạn làm tương tự.

Bài tập listview android linh kiện máy tính năm 2024

Bài tập listview android linh kiện máy tính năm 2024

Trung tâm Tin học - Đại học Khoa học Tự nhiên TP.HCM

Bài tập listview android linh kiện máy tính năm 2024

Bài tập listview android linh kiện máy tính năm 2024

Bài tập listview android linh kiện máy tính năm 2024

Bạn đang cần hỗ trợ thông tin gì ạ? Hãy Chat ngay với chúng tôi nhé.

3.Bây giờ sử dụng lớp MainActivity để tạo ra dữ liệu cho ListView của chúng ta. Ở đây, chúng ta sẽ sử dụng một mãng các chuỗi để tạo ra một Adapter cho danh sách, và sau đó, chúng ta sẽ ‘nhét’ cái Adapter này vào trong danh sách để hiển thị lên.

mport java.util.ArrayList; import java.util.HashMap; import android.app.Activity; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.widget.ArrayAdapter; import android.widget.EditText; import android.widget.ListView; public class MainActivity extends Activity {

private ListView lv;  
private ArrayAdapter adapter;  
private EditText inputSearch;  
private ArrayList> productList;  
@Override  
public void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.activity_main);  
    String products[] = {"Dell Inspiron", "HTC One X", "HTC Wildfire S", "HTC Sense", "HTC Sensation XE",  
                            "iPhone 4S", "Samsung Galaxy Note 800",  
                            "Samsung Galaxy S3", "MacBook Air", "Mac Mini", "MacBook Pro"};  
    lv = (ListView) findViewById(R.id.list_view);  
    inputSearch = (EditText) findViewById(R.id.inputSearch);  
    adapter = new ArrayAdapter(this, R.layout.list_item, R.id.product_name, products);  
    lv.setAdapter(adapter);         
}  
Lúc này khi chạy chương trình ta sẽ có như sau:
Bài tập listview android linh kiện máy tính năm 2024
4.Tiếp theo là phần chính yếu, tạo ra bộ lọc cho danh sách Chức năng lọc có thể được tạo ra một cách dễ dàng bằng cách thêm vào EditText sự kiện addTextChangedListener như sau:

inputSearch.addTextChangedListener(new TextWatcher() {

@Override  
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {  
    // When user changed the Text  
    MainActivity.this.adapter.getFilter().filter(cs);  
}  
@Override  
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,  
        int arg3) {  
    // TODO Auto-generated method stub  
}  
@Override  
public void afterTextChanged(Editable arg0) {  
    // TODO Auto-generated method stub  
}  
}); [/souececode] 5.Cuối cùng là thêm vào AndroidManifest.xml để dấu đi keyboard khi load Activity android:windowSoftInputMode="stateHidden" Thế là hoàn tất, khi đó bạn có thể sử dụng chức năng lọc đơn giản này smoothly như hình sau:
Bài tập listview android linh kiện máy tính năm 2024

Các bạn có thể download sourcecode tại đây