Tampilan Penelusuran Android (SearchView)

Android SearchView menyediakan antarmuka pengguna untuk kueri penelusuran yang dikirimkan melalui penyedia penelusuran. Widget SearchView dapat diimplementasikan melalui ToolBar/ActionBar atau di dalam tata letak.

SearchView secara default dapat dilipat dan diatur untuk di iconified menggunakan metode setIconifiedByDefault(true) kelas SearchView. Untuk membuat bidang pencarian terlihat, SearchView menggunakan metode setIconifiedByDefault(false).

Metode SearchView

  • public boolean onQueryTextSubmit(String query) : Ini mencari permintaan pada pengiriman konten melalui SearchView editor. Hal ini tergantung kasus.
  • public boolean onQueryTextChange(String newText): Ini mencari permintaan pada saat perubahan teks melalui editor SearchView.

Contoh SearchView

Mari kita lihat contoh SearchView melalui tata letak, mencari data dalam ListView.

* Main Activity

Buat file activity_main.xml di folder tata letak yang berisi ScrollView dan ListView.

File : activity_main.xml

<?xml version="1.0" encoding="utf-8"?>  
<RelativeLayout 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"  
    android:paddingBottom="@dimen/activity_vertical_margin"  
    android:paddingLeft="@dimen/activity_horizontal_margin"  
    android:paddingRight="@dimen/activity_horizontal_margin"  
    android:paddingTop="@dimen/activity_vertical_margin"  
    tools:context="com.example.test.searchview.MainActivity">  
 
    <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>  


* Activity class

File : MainActivity.java

package com.example.test.searchview;  
 
import android.support.v7.app.AppCompatActivity;  
import android.os.Bundle;  
import android.widget.ArrayAdapter;  
import android.widget.Filter;  
import android.widget.ListView;  
import android.widget.SearchView;  
import android.widget.Toast;  
 
import java.util.ArrayList;  
 
public class MainActivity extends AppCompatActivity {  
    SearchView searchView;  
    ListView listView;  
    ArrayList<String> list;  
    ArrayAdapter<String > adapter;  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
 
        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<String>(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(MainActivity.this, "No Match found",Toast.LENGTH_LONG).show();  
                }  
                return false;  
            }  
 
            @Override  
            public boolean onQueryTextChange(String newText) {  
            //    adapter.getFilter().filter(newText);  
                return false;  
            }  
        });  
    }  
}  


Output :

Tampilan Penelusuran Android (SearchView)


Berlangganan update artikel terbaru via email:

0 Response to "Tampilan Penelusuran Android (SearchView)"

Posting Komentar

Iklan Atas Artikel

Iklan Bawah Artikel