Listview With Search Filter Android Studio Example

Hello, all learners. This is a listview search filter android studio example.

We are going to implement a search filter feature in the listview in this demo.

When there are too many items in the listview, the user needs a filter so that he can find an item by filtering by name, occupation, address, etc.

Search filter provides high user interface value which increases user’s overall satisfaction while using your app.

Search functionality reduces navigation complexity for the user and also saves user’s valuable time.

Commonly, you can implement search filter functionality using two methods.

  • First is using EditText
  • Second is using Search View

In this tutorial example, I am going to use EditText method.

It means that I will provide EditText to the user to enter the search query.

If you want to use SearchView then read searchview listview android example.

First, check the output of this tutorial in below video.

Wait for one minute

If you have not basic idea about listview and adapter then checkout listview with image and text tutorial first.

Check listview with button android example for showing button in listview item and manage its click event.

Check listview with checkbox android example  for gaining knowledge about how to use checkbox in listview row.

We will use EditText to type a query in this tutorial. If you want to use android’s inbuilt SearchView feature, then please visit searchview listview android example.

Creating Listview Search Filter Android Example

Step 1: Create a new project in Android Studio.

When you are creating a new project in android studio, I recommend you to choose “Empty activity” as a default activity.

Empty activity gives fresh work space without any pre-written code.

Step 2: Creating row layout file for listview

 Create one layout resource file and name it as listview_item.xml and copy below code

Above layout file represents the layout structure for each row of listview.

We will just add only one textview in every row of the listview.

Step 3: Creating MovieNames.java class (It is Model class)

Create a new class named MovieNames.java and add following

Step 4: Creating ListViewAdapter.java class:

Create new java class named ListViewAdapter and add following code

Step 5: Updating activity_main.xml file

Add below code in activity_main.xml file

Step 6: Updating MainActivity.java class

Put below code in MainActivity.java

Explanation of Above code

Look at the below code

  • moviewList is a string array. This string array contains the names of the movies.
  • We will use this string array in the below for loop

  • Above for loop creates the object of the MovieNames class in it’s every iteration.
  • After creating an object, we will add it in the movieNamesArrayList.

Description of filter logic

Focus on the following code

  • textlength contains a total number of characters of a search query.
  • if movie name contains set of characters same as a search query, then it will be inserted in array_sort.
  • array_sort will have sorted values and will be put in the adapter.

So that is all for listview search filter android example. Keep visiting us for more exciting tutorials. Thanks 🙂

Download Source Code

[sociallocker]Download Demo [/sociallocker]

Hardik Parsania

I am mobile app developer. I am always passionate about solving complex and real world problems.I have developed many apps with great interest and superior logical skills.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *