Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Android

Cách thêm footer view vào ListView trên Android

Thêm Footer View vào ListView Android

Hướng dẫn này minh họa cách thêm một view footer (chân trang) vào ListView trong ứng dụng Android. Footer view thường được dùng để hiển thị thông tin bổ sung, nút tải thêm, hoặc trạng thái ở cuối danh sách.

Bước 1: Tạo dự án mới

Mở Android Studio, chọn File → New Project, điền các thông tin cần thiết để tạo dự án mới.

Bước 2: Thiết kế giao diện (res/layout/activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center_horizontal"
    android:layout_marginTop="30dp"
    tools:context=".MainActivity">

    <ListView
        android:id="@+id/list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

Bước 3: Viết code logic (src/MainActivity.java)

package com.example.myapplication;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Gravity;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;

public class MainActivity extends AppCompatActivity {

    ListView list;
    String[] names = new String[] {"A", "B", "C"};
    String[] extended = new String[5];

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        list = findViewById(R.id.list);

        // Chuẩn bị dữ liệu mẫu
        extended[3] = "D";
        extended[4] = "E";
        System.arraycopy(names, 0, extended, 0, names.length);

        // Loại bỏ trùng lặp bằng HashSet
        HashSet<String> unique = new HashSet<>(Arrays.asList(extended));
        unique.addAll(Arrays.asList(names));
        ArrayList<String> arrayList = new ArrayList<>(unique);

        // Gán adapter cho ListView
        ArrayAdapter adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, arrayList);
        list.setAdapter(adapter);

        // Tạo và thêm Footer View
        TextView footer = new TextView(this);
        footer.setGravity(Gravity.CENTER);
        footer.setTextSize(30);
        footer.setText("Footer");

        if (footer != null) {
            list.addFooterView(footer);
        } else {
            throw new NullPointerException("footer is null");
        }
    }
}

Chạy ứng dụng

Kết nối thiết bị Android thật với máy tính. Trong Android Studio, mở file Activity và nhấn biểu tượng Run trên thanh công cụ. Chọn thiết bị của bạn và quan sát màn hình hiển thị danh sách kèm footer ở cuối.

Cách thêm footer view vào ListView trên Android

Kết quả: Danh sách hiển thị các giá trị mảng không trùng lặp và có footer view "Footer" ở cuối cùng.