Membuat Fitur Pencarian di Android dengan data statis
Aug 17, 2018
Add Comment
<?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>
<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