-->

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

0 Response to "Membuat Fitur Pencarian di Android dengan data statis"

Post a Comment

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel