01 Step ( Create Drawable Icon) \app\src\main\res\drawable\ic_baseline_search_24.xml
<vector android:height="24dp" android:tint="#FFFFFF" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> <path android:fillColor="@android:color/white" android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/></vector>
02 Step (Create an Menu View )\app\src\main\res\menu\menu_main_se.xml
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/action_search" android:icon="@drawable/ic_baseline_search_24" android:title="Search" app:actionViewClass="android.widget.SearchView" app:showAsAction="ifRoom|collapseActionView" /></menu>
03 Step (DataAdapter a Java Class View) \app\src\main\java\com\example\app\DataAdapter.java
implements Filterableprivate ArrayList<Data_Constructor> mArrayList=new ArrayList<>();
04 Step (DataAdapter a Java Class View) \app\src\main\java\com\example\app\DataAdapter.java
///// Search in Recyclerview Or Filter Search @Override public Filter getFilter() { return new Filter() { @Override protected FilterResults performFiltering(CharSequence charSequence) { String charString = charSequence.toString(); if (charString.isEmpty()) { articles = Search_ArrayList; } else { ArrayList<Data_Constructor> filteredList = new ArrayList<>(); for (Data_Constructor CarItem : Search_ArrayList) { if (CarItem.getName().toLowerCase().contains(charString)) { filteredList.add(CarItem); } } articles = filteredList; } FilterResults filterResults = new FilterResults(); filterResults.values = articles; return filterResults; } @Override protected void publishResults(CharSequence charSequence, FilterResults filterResults) { articles = (ArrayList<Data_Constructor>) filterResults.values; notifyDataSetChanged(); } }; } ///// Search in Recyclerview Or Filter Search
05 Step (Call Activity for Search View Java Class) \app\src\main\java\com\example\app\MainActivity.java
////SearchView Start @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_main_se, menu); MenuItem search = menu.findItem(R.id.action_search); SearchView searchView = (SearchView) MenuItemCompat.getActionView(search); search(searchView); return true; } private void search(SearchView searchView) { searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { return false; } @Override public boolean onQueryTextChange(String newText) { if (dataAdapter!=null) dataAdapter.getFilter().filter(newText); return true; } }); } //// SearchView parse Json File Data Website Call
01 Step ( Create Drawable Icon) \app\src\main\res\drawable\example_menu.xml
<vector android:height="24dp" android:tint="#FFFFFF" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> <path android:fillColor="@android:color/white" android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/></vector>
02 Step (Create an Menu View )\app\src\main\res\menu\menu_main_se.xml
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/action_search" android:icon="@drawable/example_menu" android:title="Search" app:actionViewClass="android.widget.SearchView" app:showAsAction="ifRoom|collapseActionView" /></menu>
03 Step (Create a Java Class View ) \app\src\main\java\com\example\app\Adapter_itechbangla.java
private List<Data_list_calass_leItem> exampleList;private List<Data_list_calass_leItem> exampleListFull;
Adapter_itechbangla(List<Data_list_calass_leItem> exampleList) { this.exampleList = exampleList; exampleListFull = new ArrayList<>(exampleList); }
@Override public Filter getFilter() { return exampleFilter; } private Filter exampleFilter = new Filter() { @Override protected FilterResults performFiltering(CharSequence constraint) { List<Data_list_calass_leItem> filteredList = new ArrayList<>(); if (constraint == null || constraint.length() == 0) { filteredList.addAll(exampleListFull); } else { String filterPattern = constraint.toString().toLowerCase().trim(); for (Data_list_calass_leItem item : exampleListFull) { if (item.getText2().toLowerCase().contains(filterPattern)) { filteredList.add(item); } } } FilterResults results = new FilterResults(); results.values = filteredList; return results; } @Override protected void publishResults(CharSequence constraint, FilterResults results) { exampleList.clear(); exampleList.addAll((List) results.values); notifyDataSetChanged(); } };
Tags:
Android Studio