Cara Membuat Spinner Dinamis di Basic4Android

Awal-awal menggunakan Basic4Android (B4A), saya sempat bingung bagaimana caranya membuat ComboBox atau DropDown List di aplikasi android yang saya buat. Tapi, setelah saya cari sana dan cari sini, akhirnya bingung tersebut hilang setelah saya bertemu dengan Spinner. Ya, karena sudah ketemu cara membuatnya. Jika Anda juga bingung, maka jangan bersedih, karena saya akan share cara membuatnya di sini.

Biasanya data yang saya tampilkan di Spinner ini adalah data dari database local atau SQLite. Tapi, kali ini data yang saya tampilkan di Spinner adalah data dari database server, yaitu MySQL. Dan cara menghubungkan ke database server-nya masih menggunakan Remote Database Connector (RDC).

Agar tutorial ini lebih mudah dimengerti, silakan pahami dulu tutorial pada postingan-postingan di bawah ini:

Cara Menghubungkan Aplikasi Android ke Database MySQL

Menampilkan Data MySQL ke Dalam ListView pada Basic4Android

Membuat CRUD dengan Database MySQL di Basic4Android

Karena file project yang akan digunakan adalah dari postingan-postingan tersebut. Sehingga akan saling berkaitan antara yang satu dengan yang lainnya.

Oke, sebelumnya sudah ada database dengan nama delheru-penjualan, yang pada postingan sebelumnya sudah dibuat. Dan di dalamnya ada tabel dengan nama: barang. Sekarang tambahkan satu tabel lagi dengan nama: kategori. Dengan field-field sebagai berikut: 01-create-new-table-kategori

Jika tabel kategori sudah dibuat, maka insert-lah beberapa data. Misalnya seperti ini: 02-insert-new-data-kategori

Dan, silakan ikuti langkah-langkah berikut…

  1. Buka folder RDC Server-nya. 03-open-config
  2. Kemudian buka config.properties. Tambahkan satu command lagi seperti di bawah ini:

  1. Buka project MyConnectDB.
  2. Pada Class DBRequestManager buat fungsi baru dengan nama: LoadRDCSpinner. Fungsi ini digunakan untuk menampilkan data hasil dari request ke server via RDC ke Spinner.

  1. Beralih ke activity BarangView, pada Sub Globals deklarasikan object-object baru seperti di bawah ini:

  1. Karena terdapat tambahan beberapa object baru seperti Label dan Spinner yang akan ditampilkan di activity, maka fungsi-fungsi (seperti InitObject, SetLabel, GetDataBarang, dan SetObjectView) yang terpanggil pada event Activity_Create harus dirombak lagi. Silakan ubah menjadi seperti code berikut:

  1. Sebelumnya di fungsi event BtnSave_Click parameter yang dikirimkan ke server untuk kategori_id langsung ditulis: 1. Maka, kali ini ubah menjadi KategoriId. Sebuah variabel integer yang menampung kategori_id. Perhatikan code baris ke 10 dan 18.

  1. Kemudian pada event JobDone, ubah code yang sudah ada menjadi seperti berikut:

  1. Pada fungsi LoadDataBarang set value variabel KategoriId dengan kategori_id barang tsb. Perhatikan code baris ke 10.

  1. Buat fungsi baru dengan nama: GetDataKategori. Fungsi ini digunakan untuk melakukan request data kategori ke server.

  1. Dan yang terakhir, buat satu fungsi event lagi, kali ini event ItemClick untuk Spinner kategorinya.

  1. Save, kemudian Run/Compile project ini dalam versi Release.
  2. Lalu lihat, apa yang terjadi…
  3. Saat Create Barang, pada gambar di bawah terlihat data kategorinya sudah muncul di Spinner-nya. 03-result
  4. Saat detail barang dibuka, kategorinya diset otomatis sesuai kategori barangnya. 04-result
  5. Apakah bisa mengubah kategori dari barang tersebut? Tentu bisa, tinggal pilih kategorinya, lalu tekan tombol Update. 05-result

Oke, demikian cara membuat Spinner dinamis yang datanya dari database MySQL di B4A. Semoga bermanfaat. Jika masih ada kesulitan atau problem jangan ragu untuk bertanya di form komentar. Dan… Tetap nantikan juga tutorial-tutorial menarik lainnya seputar Basic4Android.

Happy Coding! 🙂

Share This!

Leave a Reply

34 Comments on "Cara Membuat Spinner Dinamis di Basic4Android"

avatar
  Subscribe  
newest oldest most voted
Notify of
Imam Riyadi
Guest

Mantap gan….

adeon
Guest

hajar bray 😀

Imam Riyadi
Guest

nanya lagi ah gan…ane dah buat sampe activity transaksi nih …mohon petunjuk dong kalo generate kode transaksi berdasarkan nomer urut + tanggal…gimana yah…?? hhehehe 🙂

imam
Guest

oke..masih blm solved gan …nanya lagi ah …hehehe…sorri ye gan kalo keseringan…gini ane punya 2 activity…login_act..dan welcome_act…..gini alurnya ..begitu login sukses kemudian buka welcome act…nah di welcome act itu ada label kodeorder yang tergenerate otomatis begitu login sukses…mohon pencerahan..udah utak atik dari pagi…hehehe..thx gan

Imam
Guest

Hhmm…kalo loginnya berbarengan sih mungkin bisa bentrok…apa pada saat insert data aja gitu gan…kalo menurut agan gimana enaknya..?? Mohon Pencerahannya gan…

Imam
Guest

Nah..iya gan…kalo ane tambahin button mulai order gimana..?? Jadi setelah login sukses – generate kode di welcome – button_click di activity welcome = insert data order..karena kan di db ane ada table order sama orderdetail….

Imam
Guest

Nah…itu dia gan…mohon pencerahan dah…bingung pas login sukses kemudian buka welcome langsung generate kode…hehehehe

imam
Guest

masih belum solved juga gan…bingung banget…ini kode jobdone di login activity

====trus ini fungsi getkode di welcome activity….

====gimana lagi yah gan..? help me please…:)

ianhade
Guest

Kalau untuk komponen kyk datepicker pake apa ya? boleh di sharekah?

Ali
Guest

gan. ga bias ada akses untuk download link datepicker

bisa dibantu ga gan?

Ali
Guest

thanks ya mas heru

david
Guest

gan kalo misalnya membuat dengan db sqlite, syntak no 2 ditaruh dimana ? dan apa tidak perlu foreign key ?

david
Guest

mas untuk poin 8 saya agak kurang paham, apa juga harus buat sub job done, atau “GetDataKategori” nya ditaruh di sub GetDataKategori

david
Guest

gan saya nemuin kendala (“Pada SubGetKategori keluar notice : parameter name cannot hide global variable name”), ss erornya saya upload di facebook

David
Guest

Mas, kalo saya juga mau munculin “field keterangan” ditambah apalagi ?, jadi ketika pilih kategori (ex: Elektronik —> nanti ada satu text box keisi keterangan di setiap kategori), Terimakasih

David
Guest

Mas kalo saya mau munculin “field keterangan” juga gimana caranya. Ex: Ketika memilih kategori “elektronik” —–> nanti ada textbox terisi dengan keterangan elektronik, Dan seterusnya (Setiap pilih kategori otomatis muncul keterangannya juga) Terimakasih

David
Guest

o iya mas saya juga mau tannya misalnya, kita mau masukin kategori lain (jadi ada dua tabel yang dipanggil), apa yang perlu ditambahkan, saya sudah coba menambah variabel “KategoriId2”, terus ikutin langkah diaatas tapi tetep ndak mau muncul untuk KategoriId2. Terimakasih

David
Guest

Mas kalo cara bikin sub kategori bagaimana ? misalnya spn1 pilih printer, kemudian spn 2 ilih jenis printer (dua-duanya pada satu tabel). Mohon pencerahan terimakasih

David
Guest

Mas waktu spinernya saya kelompokkan (ex: tampilkan kode berdasarkan komputer), ketika di save id spiner yang dipilih tidak sesuai kalo tidak di kelompokkan. (ex : waktu tidak dikelompokkan id komputer no=6 dan waktu dikelompokkan id komputer no=1) Ketika di save/dalam database

andi
Guest

ga ada link source nya

fikri
Guest

klo mau nambah file foto gimana min?