Android SearchView di ToolBar

Karena kita telah menerapkan widget SearchView melalui activity layout, itu juga dapat diimplementasikan melalui ToolBar / ActionBar. Untuk menerapkan SearchView melalui ToolBar, kita perlu membuat opsi menu dan menempatkan widget SearchView di atasnya.

Contoh SearchView pada ToolBar (ActionBar)

Mari kita lihat contoh SearchView melalui ToolBar dan mencari data di ListView.

* Main Activity

Buat file activity_main.xml di folder layout yang berisi ListView.

File : activity_main.xml

<?xml version="1.0" encoding="utf-8"?>  
<android.support.constraint.ConstraintLayout 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:layout_width="match_parent"  
    android:layout_height="match_parent"  
    tools:context="searchview.toolbar.com.searchviewtoolbar.MainActivity">  
 
    <ListView  
        android:id="@+id/listView"  
        android:layout_width="match_parent"  
        android:layout_height="fill_parent"  
        />  
 
</android.support.constraint.ConstraintLayout>  


Membuat file menu.xml di folder menu dan menempatkan kode berikut. Kode ini menempatkan widget SearchView melalui ToolBar.

File : menu.xml

<?xml version="1.0" encoding="utf-8"?>  
<menu xmlns:app="http://schemas.android.com/apk/res-auto"  
xmlns:android="http://schemas.android.com/apk/res/android">  
 
<item  
    android:id="@+id/app_bar_search"  
    android:icon="@drawable/ic_search_black_24dp"  
    android:title="Search"  
    app:showAsAction="ifRoom|withText"  
    app:actionViewClass="android.widget.SearchView"/>  
</menu>  


* Activity class

File : MainActivity.java

package searchview.toolbar.com.searchviewtoolbar;  
 
import android.support.v4.view.MenuItemCompat;  
import android.support.v7.app.AppCompatActivity;  
import android.os.Bundle;  
import android.view.Menu;  
import android.view.MenuInflater;  
import android.view.MenuItem;  
import android.widget.ArrayAdapter;  
import android.widget.ListView;  
import android.widget.SearchView;  
import android.widget.Toast;  
 
import java.util.ArrayList;  
 
public class MainActivity extends AppCompatActivity {  
 
    ListView listView;  
    ArrayList<String> list;  
    ArrayAdapter<String > adapter;  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
 
        listView = (ListView) findViewById(R.id.listView);  
 
        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<String>(this, android.R.layout.simple_list_item_1,list);  
        listView.setAdapter(adapter);  
    }  
 
    @Override  
    public boolean onCreateOptionsMenu(Menu menu) {  
        MenuInflater inflater = getMenuInflater();  
        inflater.inflate(R.menu.menu, menu);  
        MenuItem searchViewItem = menu.findItem(R.id.app_bar_search);  
        final SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchViewItem);  
        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {  
            @Override  
            public boolean onQueryTextSubmit(String query) {  
                searchView.clearFocus();  
             /*   if(list.contains(query)){ 
                    adapter.getFilter().filter(query); 
                }else{ 
                    Toast.makeText(MainActivity.this, "No Match found",Toast.LENGTH_LONG).show(); 
                }*/  
                return false;  
 
            }  
 
            @Override  
            public boolean onQueryTextChange(String newText) {  
                adapter.getFilter().filter(newText);  
                return false;  
            }  
        });  
        return super.onCreateOptionsMenu(menu);  
    }  
}  


Output :

Android SearchView di ToolBar


Berlangganan update artikel terbaru via email:

1 Response to "Android SearchView di ToolBar"

  1. They are usually unlocked by spinning a certain mixture of special symbols. Bonus features add to the excitement of half in} slots given that that} they will reward you with massive cash prizes. Yet 먹튀사이트 먹튀프렌즈3 on-line free slots with bonus rounds are simply as well-liked with gamers, because of the additional fun and engagement they add to the general gameplay expertise. They enable you to play and win actual money on slots with out making a deposit. You also can play slots on-line free at many on line casino sites with out making a deposit. Brett's playing drawback started quantity of} years in the past with bets on National Basketball Association video games, followed by wagers on different professional sports activities.

    BalasHapus

Iklan Atas Artikel

Iklan Bawah Artikel