Belajar Cara Membuat Spinner di Android Studio
Assalamualaikum Warahmatullahi Wabarakatuh.
Spinner adalah salah satu view atau widge yang cukup banyak digunakan pada Aplikasi Android, Widget Spinner digunakan untuk menampilkan List/Dropdown menu, yang terdiri dari item-item, untuk memuahkan user dalam memilih sebuah konten pada aplikasi, kita dapat menyimpan item/valuenya menggunakan sebuah Array atau ArrayList, lalu menampilkannya pada Spinner.
Pada tutorial ini, kita akan belajar bagaimana cara membuat Spinner untuk aplikasi android, disini kita akan membuat contoh program sederhana beserta pejelasannya, Untuk itu mari kita simak tutorial berikut ini.
Materi lainnya yang direkomendasikan:
- Belajar Membuat Menu Konteks di Android Studio
- Cara Membuat Option Menu di Android Studio
- Belajar Membuat Menu Popup pada Android Studio
Belajar Cara Membuat Spinner di Android Studio
Buka aplikasi Android Studio kalian, Buat Project Baru.Ada dua cara untuk membuat sebuah menu item pada Spinner, yang pertama yaitu dengan menggunakan resource dari xml, cara ini bersifat static, yang artinya item pada Spinner tidak atau jarang diubah-ubah.
Dan yang kedua yaitu dengan menggunakan file java, kita data membuat menu item dengan menggunakan Array atau ArrayList pada Java, cara ini bersifat dinamis, cara tersebut berguna jika data yang hendak kita sajikan, harus berubah-ubah. Kedua cara tersebut akan kita bahas satu per satu disini.
A.Membuat Menu Resource menggunakan file xml
Disini kita akan membahas cara yang pertama terlebih dahulu, untuk membut string array dengan menggunakan file xml, caranya kalian buka file strings.xml yang tersapat pada folder res/values.
Lalu kita tambahkan string-array , misalnya kita ingin membuat daftar menu makanan menggunakan Spinner, tambahkan baris kode seperti berikut:
<string-array name="daftar_makanan">
<item>Bakso</item>
<item>Ayam Goreng</item>
<item>Mie Rebus</item>
<item>Nasi Padang</item>
<item>Ikan Bakar</item>
<item>Seblak</item>
<item>Gorengan</item>
<item>Mie Ayam</item>
</string-array>
Disana kita dapat mengunakan tag <sting-array> yang digunakan untuk membungkus item-item yang ingin diampilkan pada Spinner, lalu tag <item> digunakan untuk membuat sebuah item.Selanjutnya buka file activity_main.xml pada project kalian, disini kita akan menambahkan widget Spinner dan juga komponen tambahan seperti Button, yang digunakan untuk mengeksekusi item yang dipilih.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="8dp"
android:orientation="vertical"
android:background="#FFF5F5F5"
tools:context="android.cianjur.developer.net.basicandroid.MainActivity">
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/listItem"
android:entries="@array/daftar_makanan"
android:padding="15dp">
</Spinner>
<Button
android:id="@+id/submit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Pesan Makanan"/>
</LinearLayout>
Pada tag <Spinner> kita menggunakan atribut android:entries, yang digunakan untuk menentukan daftar item mana yang ingin ditampilkna, daftar item tersebut yang sebelumnya sudah kita buat pada file xml, dengan nama "daftar_makanan".Selanjutnya kit buka file MainActivity.java, disini kita akan membuat sebuah fungsi pada Spinner dan juga button, pada saat Button tersebut diklik, maka akan muncul pesan singkat sesuai dengan nama item yang dikliknya
package android.cianjur.developer.net.basicandroid;
/*
Dibuat Oleh WILDAN M ATHOILLAH
*/
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Spinner List = findViewById(R.id.listItem);
Button Submit = findViewById(R.id.submit);
Submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getApplicationContext(), "Saya Memesan "+List.getSelectedItem(), Toast.LENGTH_SHORT).show();
}
});
}
}
Pada program tersebut kita menggunakan Toast untuk menampilkan pesan saat salah satu item dipilih, serta menggunakan fungsi getSelectedItem() yang digunakan untuk mengambil value dari daftar menu yang dipilih.Demo:
B.Membuat Menu Resource menggunakan Array pada Java
Cara yang kedua ini, kita dapat menggunakan sebuah Array atau ArrayList untuk menyimpan menu item, karena tidak menggunakan menu resource dari xml, sebagai gantinya kita menggunakan SpinnerAdapter yang berfungsi untuk mengolah data Array yang nantinya akan ditampilkan pada Spinner.
Untuk itu, pertama kita hapus terlebih dahulu atribut android:entries pada Spinner kita di activity_main.xml. dan juga kita tidak akan menggunakan Button untuk contoh berikut ini.
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/listItem"
android:padding="15dp">
</Spinner>
Selanjutnya kita edit source code pada MainActivity,java menjadi seperti berikut ini:package android.cianjur.developer.net.basicandroid;
/*
Dibuat Oleh WILDAN M ATHOILLAH
*/
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity{
//Menginisialisasi Menu Item pada Variable Array
private String[] Item = {"Bakso","Ayam Goreng","Mie Rebus","Nasi Padang",
"Ikan Bakar","Seblak","Gorengan","Mie Ayam"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Spinner List = findViewById(R.id.listItem);
//Inisialiasi Array Adapter dengan memasukkan String Array
final ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
android.R.layout.simple_spinner_dropdown_item,Item);
//Memasukan Adapter pada Spinner
List.setAdapter(adapter);
//Mengeset listener untuk mengetahui event/aksi saat item dipilih
List.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView adapterView, View view, int i, long l) {
Toast.makeText(getApplicationContext(),"Saya Memesan "+adapter.getItem(i), Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView adapterView) {
}
});
}
}
Penjelasan:Pada program tersebut, kita mendefinisikan Itemnya kedalam String[] array yang berisi data yang nantinya akan kita gunakan di Spinner. Lelu memasukan Array tersebut kedalalam ArrayAdapter.
OnItemSelectedListener() pada Spinner., digunaakn agar kita dapat memonitor Item yang dipilih oleh user pada Spinner saat user selesai memilih sebuah item pada Spinner maka akan memunculkan pesan singkat menggunakan Toast.
Source Codenya bisa kalian download di Github Saya.
Source Codenya bisa kalian download di Github Saya.
Terimakasih atas kunjungannya, semoga tutorial yang saya berikan bisa bermanfaat untuk kalian semua, selebihnya, mohon maaf bila ada kesalahan.
Wassalamualaikum Warahmatullahi Wabarakatuh.