Belajar Android – Membuat ComboBox

Jumpa lagi dengan Agus Haryanto diseri tutorial Android, Pada tutorial-tutorial kita sebelumnya  untuk input data kita lebih banyak menggunakan kotak teks. Nah diandroid ini juga disediakan inputan lain seperti combobox, radio button, check box malah ada datepicker juga lho.

Pada kesempatan kali ini kita akan belajar tentang bagaimana cara membuat ComboBox diandroid.

Bagi yang sering menjelajah dunia maya atau interenet harusnya sudah tahu bentuk dan fungsi dari ComboBox. Karena kita sering menggunakannya. Anda tentu pernah membuat email, naha pada saat membuat email itu biasanya ada isian tentang Negara asal atau tempat kita tinggal, disini kita tinggal mengklik inputan tersebut lalu muncul list Negara yang harus dipilih.

Berikut langkah-langkah pembuatannya

  1. Buat Project dengan Nama BelajarComboBox

2. Setelah project tercreate maka secara otomatis android membentuk 3 file yaitu :

  • main.xml
  • string.xml
  • CreateComboBox.java

3. Edit main.xml ketikkan kode berikut

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<TextView android:text="Negara :" android:id="@+id/selection" android:layout_width="fill_parent"
		android:layout_height="wrap_content" />
	<Spinner android:id="@+id/spinner" android:layout_width="fill_parent"
		android:layout_height="wrap_content" android:drawSelectorOnTop="true" />
</LinearLayout>

Perhatikan kode diatas ada tag baru yaitu <Spinner>, nah tag inilah yang digunakan untuk menggambar ComboBox.

4.      Edit CreateComboBox.java ketikkan kode dibawah ini

package com.agus.combobox;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

public class CreateComboBox extends Activity implements	AdapterView.OnItemSelectedListener {
	TextView selection;
	String[] negara = { "Amerika", "Argentina", "Brazil", "Indonesia",
			"Inggris", "Malaysia", "Pilipina" };

	@Override
	public void onCreate(Bundle icicle) {
		super.onCreate(icicle);
		setContentView(R.layout.main);
		selection = (TextView) findViewById(R.id.selection);
		Spinner spin = (Spinner) findViewById(R.id.spinner);
		spin.setOnItemSelectedListener(this);
		ArrayAdapter<String> aa = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, negara);
		aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		spin.setAdapter(aa);
	}

	public void onItemSelected(AdapterView<?> parent, View v, int position,	long id) {
		Toast.makeText(this, "Anda Memilih: " + negara[position],Toast.LENGTH_LONG).show();
	}

	public void onNothingSelected(AdapterView<?> parent) {
		Toast.makeText(this, "Silahkan Pilih Negara", Toast.LENGTH_LONG).show();
	}

}

Kode diatas berisi cara pembuatan ComboBox beserta pengisian datanya yaitu data Negara.

Untuk menangkap event  pada saat kita memilih salah satu Negara, kita harus menggunakan implements AdapterView.OnItemSelectedListener

Yang akan mengharuskan kita membuat method-method yang ada pada interface tersebut yatitu onItemSelected dan onNothingSelected

Nah pada method onItemSelected inilah kita bisa menangkap pilihan dari ComboBox.

5.      Sekarang mari kita jalankan programnya, maka hasilnya akan seperti ini

Klik atau sentuh ComboBoxnya

Nah, mudahkan membuat ComboBox diandroid. sekarang ada tantangan nih buat lah dua buah combobox yang mana isi dari combobox yang kedua bergantung pada pilihan di combobox pertama.

Untuk tantangan diatas sudah ada contohnya di tutorial Membuat Combobox Dinamis

Salam Hangat

Agus Haryanto

18 comments to Belajar Android – Membuat ComboBox

  • herpeb

    mas, klo buat message box bagaimana ?

  • Agus Haryanto

    @herpeb, untuk message box kita bisa gunakan dialog

  • maemun

    Bang Agus

    ane momon yg ketemu di toko susu dan blackberry developer day

    Main.xml nya sudah persis walau ada error parsing XML:unbound prefix dgn tanda silang pada <TextView

    id cannot be resolved or is not a field, itu problemnya dimana ya?

    selection = (TextView) findViewById(R.id.selection);
    Spinner spin = (Spinner) findViewById(R.id.spinner);

    Terimakasih

  • maemun

    Mas Agus

    Maaf gak jadi, ternyata ada salah spelling android menjadi andorid.

  • maemun

    Bang Agus

    Saya gagal memunculkan Silahkan Pilih Negara ketika OnNothingSelected, karena aplikasi nya langsung milih amerika.

  • Agus Haryanto

    @maemun, apa kabar bang momon, betul bang momon karena untuk contoh diatas tidak akan pernah masuk ke onNothingSelected. kapan2 bisa kopdar (kopi darat) nih 🙂

  • febri

    selection = (TextView) findViewById(R.id.selection);
    Spinner spin = (Spinner) findViewById(R.id.spinner);

  • wiralodra

    0m Agus,ketika di run gk tampil androidnya,ada warning dibawahnya
    This application has requested the Runtime to terminate it in an unusual way
    kenapa ya?
    txz b4

  • Hlooo mas kalau buatnya pakai PHP gimana ya ? ini mas pake java saya tidak mengerti sama sekali. makasih

  • nugraha

    mas,aku mau tanya kalo isi comboboxnya diambil dari database mysql scriptnya gmn ya???

  • gimana mau tampung variable position untuk di pake di luar method tersebut mas?

  • Dhafin Julda

    permisi mas, kira2 kalo mau insert picture ke dalam combo box bisa tidak ya?
    kalo bisa gimana coding nya mas?
    makasih

  • pak…..kalo datanya diambi dari database Mysql gimana pak?? mohon bantuan pak 🙂 makasih sebelumnya

  • aldy

    bang saya bikin spinner kok tampilannya biasa ya ??
    g ada kyk checklist yg bulet klo dipilih ijo gt..
    maaf seblumnya dan terima kasih 🙂

  • hari

    pak klo array nya dari database sql Server seperti apa ya pak programnya.

  • adi

    Mas kok aplikasi saya force close ya.tp pas spinnernya masih kosong g force close

  • Ilham Darmawan

    mas kalo pilihan untuk mengcompare pada software android studio gimana?

  • ve

    Spinner spin = (Spinner) findViewById(R.id.spinner);
    bagian ini kenapa saya punya error ya..idnya sudah sya samakan dengan punya sya..

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>