Giới thiệu
Ví dụ này minh họa cách xóa dữ liệu từ TreeMap sang ArrayList để hiển thị trên ListView trong Android.
Bước 1: Tạo dự án mới
Mở Android Studio, chọn File → New Project và điền thông tin cần thiết.
Bước 2: Cấu hình layout (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"
tools:context=".MainActivity"
android:orientation="vertical">
<EditText
android:id="@+id/record"
android:layout_width="match_parent"
android:hint="record number"
android:inputType="number"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/name"
android:layout_width="match_parent"
android:hint="Enter Name"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/save"
android:text="Save"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:id="@+id/refresh"
android:text="Refresh"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:id="@+id/delete"
android:text="Delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</ListView>
</LinearLayout>
Giao diện: record number (key), name (value), 3 nút Save/Refresh/Delete, ListView. TreeMap sắp xếp theo key.
Bước 3: Viết code logic (src/MainActivity.java)
package com.example.andy.myapplication;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.Map;
import java.util.TreeMap;
public class MainActivity extends AppCompatActivity {
Button save, refresh;
EditText name, record;
ArrayAdapter arrayAdapter;
ArrayList<String> array_list;
Map map = new TreeMap();
private ListView listView;
@Override
protected void onCreate(Bundle readdInstanceState) {
super.onCreate(readdInstanceState);
setContentView(R.layout.activity_main);
array_list = new ArrayList<>();
name = findViewById(R.id.name);
record = findViewById(R.id.record);
listView = findViewById(R.id.listView);
findViewById(R.id.refresh).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
arrayAdapter.notifyDataSetChanged();
listView.invalidateViews();
listView.refreshDrawableState();
}
});
findViewById(R.id.delete).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!record.getText().toString().isEmpty()) {
map.remove(record.getText().toString());
array_list.clear();
array_list.addAll(map.values());
arrayAdapter = new ArrayAdapter(MainActivity.this,
android.R.layout.simple_list_item_1, array_list);
listView.setAdapter(arrayAdapter);
Toast.makeText(MainActivity.this, "Deleted", Toast.LENGTH_LONG).show();
}
}
});
findViewById(R.id.save).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!name.getText().toString().isEmpty() && !record.getText().toString().isEmpty()) {
map.put(record.getText().toString(), name.getText().toString());
array_list.clear();
array_list.addAll(map.values());
arrayAdapter = new ArrayAdapter(MainActivity.this,
android.R.layout.simple_list_item_1, array_list);
listView.setAdapter(arrayAdapter);
Toast.makeText(MainActivity.this, "Inserted", Toast.LENGTH_LONG).show();
} else {
name.setError("Enter NAME");
record.setError("Enter Record");
}
}
});
}
}
TreeMap: key = record number (String), value = name. Tự sắp xếp key. Xóa bằng key (record number).
Chạy ứng dụng
Kết nối thiết bị, nhấn Run. Nhập record number và tên, bấm Save. Nhập record number, bấm Delete để xóa.

Hình 1: Đã chèn 2 bản ghi (sắp xếp theo record number). Hình 2: Nhập record=2, bấm Delete xóa bản ghi đó.