How to delete all elements from linked list for listview in Android?


This example demonstrate about How to delete all elements from linked list for listview in Android

Step 1 − Create a new project in Android Studio, go to File ⇒ New Project and fill all required details to create a new project.

Step 2 − Add the following code to res/layout/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"
   tools:context = ".MainActivity"
   android:orientation = "vertical">
   <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" />
      <Button
         android:id = "@+id/deleteall"
         android:text = "Delete ALL"
         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>

In the above code, we have taken name as Edit text, when user click on save button it will store the data into arraylist. Click on delete all button to delete all elements for listview.

Step 3 − Add the following code to 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.LinkedList;
public class MainActivity extends AppCompatActivity {
   Button save, refresh;
   EditText name;
   ArrayAdapter arrayAdapter;
   LinkedList<String>link_list;
   private ListView listView;
   @Override
   protected void onCreate(Bundle readdInstanceState) {
      super.onCreate(readdInstanceState);
      setContentView(R.layout.activity_main);
      link_list = new LinkedList<String>();
      name = findViewById(R.id.name);
      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.deleteall).setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            if (link_list.size() >0) {
               if (!name.getText().toString().isEmpty()) {
                  link_list.clear();
                  arrayAdapter = new ArrayAdapter(MainActivity.this, android.R.layout.simple_list_item_1, link_list);
                  listView.setAdapter(arrayAdapter);
                  Toast.makeText(MainActivity.this, "deleted all", Toast.LENGTH_LONG).show();
               }
            } else {
               Toast.makeText(MainActivity.this, "There is no element to delete", Toast.LENGTH_LONG).show();
            }
         }
      });
      findViewById(R.id.delete).setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            if (link_list.size() >0) {
               if (!name.getText().toString().isEmpty()) {
                  link_list.remove(name.getText().toString());
                  arrayAdapter = new ArrayAdapter(MainActivity.this, android.R.layout.simple_list_item_1, link_list);
                  listView.setAdapter(arrayAdapter);
                  Toast.makeText(MainActivity.this, "deleted", Toast.LENGTH_LONG).show();
               }
            } else {
               Toast.makeText(MainActivity.this, "There is no element to delete", Toast.LENGTH_LONG).show();
            }
         }
      });
      findViewById(R.id.save).setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            if (!name.getText().toString().isEmpty()) {
               link_list.add(name.getText().toString());
               arrayAdapter = new ArrayAdapter(MainActivity.this, android.R.layout.simple_list_item_1, link_list);
               listView.setAdapter(arrayAdapter);
               Toast.makeText(MainActivity.this, "Inserted", Toast.LENGTH_LONG).show();
            } else {
               name.setError("Enter NAME");
            }
         }
      });
   }
}

Let's try to run your application. I assume you have connected your actual Android Mobile device with your computer. To run the app from android studio, open one of your project's activity files and click Run  icon from the toolbar. Select your mobile device as an option and then check your mobile device which will display your default screen –

In the above result, we are inserting name into linked list and displaying name in listview. Now click on delete all button to delete listview items

Click  here  to download the project code

Samual Sam
Samual Sam

Learning faster. Every day.

Updated on: 29-Jun-2020

69 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements