Membuat Fitur Pencarian di Android dengan data statis


1.



       Buat ListView untuk menampung datanya
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
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"
   
android:orientation="vertical"
   
tools:context="com.example.asus.searchbar.MainActivity">

    <ListView
       
android:layout_width="match_parent"
       
android:layout_height="match_parent"
       
android:id="@+id/listViewCountry"
       
android:layout_weight="1">

    </ListView>

</LinearLayout>

2.       Untuk datanya kita akan menggunakan data statis yang disimpan di string. simpan file dibawah dengan nama string.xml di folder values
<resources>

    <string
name="app_name">SearchBar</string>

    <string-array
name="array_country">

        <item>
Afganistan</item>

        <item>
Australia</item>

        <item>
Afrika Selatan</item>

        <item>
Amerika</item>

        <item>
Belanda</item>

        <item>
Brazil</item>

        <item>
Brunei Darussalam</item>

        <item>
China</item>

        <item>
Ceko</item>

        <item>
Estonia</item>

        <item>
Denmark</item>

        <item>
Finlandia</item>

        <item>
Francis</item>

        <item>
Ghana</item>

        <item>
Haiti</item>

        <item>
Honduras</item>

        <item>
Hongaria</item>

        <item>
Italia</item>

        <item>
India</item>

        <item>
Iran</item>

        <item>
Irak</item>

        <item>
Israel</item>

        <item>
Indonesia</item>

        <item>
Inggris</item>

        <item>
Jerman</item>

        <item>
Jepang</item>

        <item>
Kanada</item>

        <item>
Korea Selatan</item>

        <item>
Kabul</item>

        <item>
Leshoto</item>

        <item>
Latvia</item>

        <item>
Luxseburg</item>

        <item>
Madagaskar</item>

        <item>
Malaysia</item>

        <item>
Maldives</item>

        <item>
Mesir</item>

        <item>
Meksiko</item>

        <item>
Nepal</item>

        <item>
Norwegia</item>

        <item>
Oman</item>

        <item>
Paraguay</item>

        <item>
Papua Nugini</item>

        <item>
Peru</item>

        <item>
Pilipina</item>

        <item>
Portugal</item>

        <item>
Qatar</item>

        <item>
Rusia</item>

        <item>
Swedia</item>

        <item>
Swiss</item>

        <item>
Saudi Arabia</item>

        <item>
Selandia Baru</item>

        <item>
Singapura</item>

        <item>
Thailand</item>

        <item>
Timor Leste</item>

        <item>
Turkey</item>

        <item>
Uruguay</item>

        <item>
Uganda</item>

        <item>
Vietnam</item>

        <item>
Yaman</item>

    </string-array>

</resources>

3.       Buat Menu Pencariannya, caranya buat dulu android resource directory di folder res dengan nama menu. kemudian dalam folder menu buat file menu_search.xml dan isikan kode dibawah:
<?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/menuSearch"

       
android:icon="@android:drawable/ic_menu_search"

       
android:title="Search"

       
app:actionViewClass="android.support.v7.widget.SearchView"

       
app:showAsAction="always"></item>



</menu>

4.       Langkah terakhir untuk kode javanya silakan masukan kode dibawah :
package com.example.asus.searchbar;



import
android.support.v7.app.AppCompatActivity;

import
android.os.Bundle;

import
android.support.v7.widget.SearchView;

import
android.view.Menu;

import
android.view.MenuInflater;

import
android.view.MenuItem;

import
android.widget.ArrayAdapter;

import
android.widget.ListView;



import
java.util.ArrayList;

import
java.util.Arrays;



public class
MainActivity extends AppCompatActivity {



    ArrayAdapter<String>
adapter;

   
@Override

   
protected void onCreate(Bundle savedInstanceState) {

       
super.onCreate(savedInstanceState);

       
setContentView(R.layout.activity_main);

       
ListView lv = (ListView) findViewById(R.id.listViewCountry);

       
ArrayList<String>  ArrayCountry = new ArrayList<>();

       
ArrayCountry.addAll(Arrays.asList(getResources().getStringArray(R.array.array_country)));



       
adapter = new ArrayAdapter<String>(

                MainActivity.
this,

               
android.R.layout.simple_list_item_1,

               
ArrayCountry);

       
lv.setAdapter(adapter);

   
}



   
@Override

   
public boolean onCreateOptionsMenu(Menu menu) {

        MenuInflater inflater = getMenuInflater()
;

       
inflater.inflate(R.menu.menu_search, menu);

       
MenuItem item = menu.findItem(R.id.menuSearch);

       
SearchView searchView = (SearchView)item.getActionView();



       
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {

           
@Override

           
public boolean onQueryTextSubmit(String query) {

               
return false;

           
}



           
@Override

           
public boolean onQueryTextChange(String newText) {

               
adapter.getFilter().filter(newText);

                return false;

           
}

        })
;



        return super
.onCreateOptionsMenu(menu);

   
}

}


Selanjutnya silakan jalankan aplikasi anda bila ada yang error bias ditanyakan pada kolom komentar dibawah

Belum ada Komentar untuk "Membuat Fitur Pencarian di Android dengan data statis"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel