Search Function in Android using ListView

Search View is similar to the search box in HTML. With this widget, we can search anything from particular list items.

1. MainActivity.java file

import …
 
public class Search_Demo extends AppCompatActivity {
 
    SearchView searchView;
    ListView listView;
    ArrayList list;
    ArrayAdapter adapter;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_search__demo);
 
        searchView = (SearchView) findViewById(R.id.searchView);
        listView = (ListView) findViewById(R.id.lv1);
 
        list = new ArrayList<>();
        list.add(“Apple”);
        list.add(“Banana”);
        list.add(“Pineapple”);
        list.add(“Orange”);
        list.add(“Lychee”);
        list.add(“Gavava”);
        list.add(“Peech”);
        list.add(“Melon”);
        list.add(“Watermelon”);
        list.add(“Papaya”);
 
        adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1,list);
        listView.setAdapter(adapter);
 
 
        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
 
                if(list.contains(query)){
                    adapter.getFilter().filter(query);
                }else{
                    Toast.makeText(Search_Demo.this, “No Match found”,Toast.LENGTH_LONG).show();
                }
                return false;
            }
 
            @Override
            public boolean onQueryTextChange(String newText) {
                //    adapter.getFilter().filter(newText);
                return false;
            }
        });
    }
 
}

2. activity_main.xml file

<?xml version=”1.0″ encoding=”utf-8″?>
<RelativeLayout 
   xmlns:android=”http://schemas.android.com/apk/res/android”
   xmlns:app=”http://schemas.android.com/apk/res-auto”
   xmlns:tools=”http://schemas.android.com/tools”
   android:id=”@+id/container”
   android:layout_width=”match_parent”
   android:layout_height=”match_parent”
   tools:context=”.Search_Demo”>
 
    <ListView
        android:layout_width=”match_parent”
        android:layout_height=”match_parent”
        android:id=”@+id/lv1″
        android:divider=”#ad5″
        android:dividerHeight=”2dp”
        android:layout_below=”@+id/searchView”/>
 
    <SearchView
        android:id=”@+id/searchView”
        android:layout_width=”wrap_content”
        android:layout_height=”wrap_content”
        android:queryHint=”Search Here”
        android:iconifiedByDefault=”false”
        android:layout_alignParentTop=”true”/>
 
</RelativeLayout>

Output:

How to implement search view in android

Connect with us: