Memasang Search View di Action Bar Android

Kebetulan sekarang ini sedang sering ngAndroid ditempat kerja ataupun dirumah. Baru baru ini saya sempat membuat pencarian di Android menggunakan Search widget yang dipasang di Action Bar. Nah biar gak lupa jadi sebaiknya saya tulis disini, hitung hitung menyimpan ingatan dan siapa tau ada yang mbaca.

Langkah sederhananya adalah begini :
> Menambahkan Widget Pencarian item menu action bar.
> Mendefinisikan konfigurasi pencarian di xml.
> Membuat layout hasil pencarian.
> Mendefinisikan Activity pencarian dan Intent filter pada file file AndroidManifest.xml


searchshot

 

Pertama membuat file dalam folder menu untuk mendefinisikan pilihan menu pada action bar. Contohnya buat file dengan nama activity_main_actions.xml di dalam folder menu, buat item pencarian yang ditambahkan keterangan widget android:actionViewClass=”android.widget.SearchView.

 

Definisikan konfigurasi pencarian dalam folder res -> xml dengan nama file searchable.xml.

 

Kemudian edit file main activity anda dan tambahkan atau perbaharui bagian untuk load menu seperti dibawah

 

Lalu kita buat layout activity untuk menghandle query dan hasil pencarian.

 

Modifikasi main Activity anda agar mengarah ke layout hasil pencarian dan menambahkan aksi saat melakukan pencarian

 

Terkahir melakukan pendefinisian pada file AndroidManifest.xml. Definisikan android.app.searchable dan android.intent.action.SEARCH, karna berhubung kita hanya menggunakan satu activity jadi sematkan saja main Activity.

 

Nah sampai disini kita sudah berhasil punya pencarian di Action bar Android. Kalau mau dicoba silakan di Run bero.  Gimana? enak tho?

Tambahin android:launchMode=”singleTop” biar tambah enak:
Perlu diketahui bahwa setiap kali melakukan pencarian menggunakan action bar yang baru kita buat ini maka resultnya akan menciptakan activity baru. Nah kalau kamu mau setiap pencarian tidak menciptakan activity baru kamu perlu memodifikasi/ menambahkan opsi ini android:launchMode=”singleTop” di AndroidManifest.xml seperti ini :

 

Dah gitu ajah bero, semoga bermanfaat bagi saya dan bagi semuanya.  Anda bisa mendownload source code projectnya dari GitHub (Android Studio Version)

Saya belajar dari sini :

http://www.androidhive.info/2013/11/android-working-with-action-bar/

http://developer.android.com/training/search/setup.html

7 COMMENTS

  1. Maaf, ada sedikit kesalahan, jika pada manifest ditambahkan :

    didalam tag bersamaan dengan

    maka aplikasi tidak akan berjalan karena aplikasi melihat tidak ada launcher. tag tersebut tidak bisa diletakkan bersamaan dalam satu intent-filternya Main launcher.. jadi bagaimana solusinya jika saya mau meletakkan intent.SEARCH didalam Main Activity tapi tidak error..??

  2. kalo searchview mau dipasang di activity yang ada listview-nya bagaimna ? dan searchviewnya digunakan pada list itu ?

    thanks

    • Ya search view nya tinggal dipasang saja disana, yang membedakan adalah action saat query resultnya. Kalau saya biasanya saat melakukan pencarian, lalu listview saya clear dan kemudian data yang saya tampilkan pada listview adalah data hasil pencarian menggunakan query string dari search view tadi. Silakan lihat beberapa sample di github dll.

      Semoga membantu.

  3. Tutorial nya membingungkan nih, kurang spesifik kasih petunjuknya kayak “Definisikan konfigurasi pencarian dalam folder res -> xml dengan nama file searchable.xml.”, itu maksudnya di dalem folder res buat folder xml lagi atau gimana sih? bingung

    • Iya kayak gitu mas. Bikin folder xml di dalam folder res, lalu bikin file searchable.xml di dalamnya. Kalau bingung silakan liat source code saya di github, free download kok mas. Ngga usah bingung ya…

LEAVE A REPLY