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
- 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
mas, klo buat message box bagaimana ?
@herpeb, untuk message box kita bisa gunakan dialog
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
Mas Agus
Maaf gak jadi, ternyata ada salah spelling android menjadi andorid.
Bang Agus
Saya gagal memunculkan Silahkan Pilih Negara ketika OnNothingSelected, karena aplikasi nya langsung milih amerika.
@maemun, apa kabar bang momon, betul bang momon karena untuk contoh diatas tidak akan pernah masuk ke onNothingSelected. kapan2 bisa kopdar (kopi darat) nih 🙂
selection = (TextView) findViewById(R.id.selection);
Spinner spin = (Spinner) findViewById(R.id.spinner);
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
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?
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
bang saya bikin spinner kok tampilannya biasa ya ??
g ada kyk checklist yg bulet klo dipilih ijo gt..
maaf seblumnya dan terima kasih 🙂
pak klo array nya dari database sql Server seperti apa ya pak programnya.
Mas kok aplikasi saya force close ya.tp pas spinnernya masih kosong g force close
mas kalo pilihan untuk mengcompare pada software android studio gimana?
Spinner spin = (Spinner) findViewById(R.id.spinner);
bagian ini kenapa saya punya error ya..idnya sudah sya samakan dengan punya sya..