Android ListView 删除数据
在前面一章节 Android ListView 删除数据 中我们学会了如何删除 ListView
中的数据
本章我们就来学习如何清空 ListView
ListView 清空数据
清空 ListView
数据有两种方式
- 调用
remove()
方法一项一项的删除 - 调用
clear()
方法一次性删除
肯定不用犹豫,直接选后者,一项一项删除多累啊
下面我们就写一个 demo 来演示下这两种方法
-
复用 Android ListView 添加插入数据 中最后的 demo
-
修改
TalkAdapter.java
添加一个clear()
方法public void clear() { if(mData != null) { mData.clear(); } notifyDataSetChanged(); }
-
修改布局
activity_main.xml
添加 清空数据 按钮<?xml version="1.0" encoding="utf-8" ?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="8dp" android:orientation="vertical" > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="8dp" android:orientation="horizontal" > <Button android:id="@+id/btn_add" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text = "添加" /> <Button android:id="@+id/btn_clear" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text = "清空" /> </LinearLayout> <include android:id="@+id/talk_empty" layout="@layout/listview_empty"/> <ListView android:id="@+id/listview" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>
-
修改
MainActivity.java
添加按钮的点击事件package cn.twle.android.listviewcrud; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.ListView; import android.widget.Button; import android.widget.Toast; import android.widget.AdapterView; import android.view.View; import java.util.LinkedList; import java.util.List; public class MainActivity extends AppCompatActivity implements View.OnClickListener { private ListView listview; private TalkAdapter talkAdapter = null; private List<TalkBean> mData = null; private int flag = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listview = (ListView) findViewById(R.id.listview); View listview_empty = findViewById(R.id.talk_empty); listview.setEmptyView(listview_empty); mData = new LinkedList<TalkBean>(); talkAdapter = new TalkAdapter((LinkedList<TalkBean>) mData,MainActivity.this); listview.setAdapter(talkAdapter); Button btn_add = findViewById(R.id.btn_add); Button btn_clear = findViewById(R.id.btn_clear); btn_add.setOnClickListener(this); btn_clear.setOnClickListener(this); } public void onClick(View v) { switch (v.getId()){ case R.id.btn_add: talkAdapter.add(new TalkBean(R.drawable.golf,"你好 " + flag)); flag++; break; case R.id.btn_clear: talkAdapter.clear(); break; } } }