Kali kami akan membagikan artikel tentang tutorial penggunaan Spinner Android. Di Android dropdown list di android di namakan Spinner, fungsinya sama dengan dropdown list pada umumnya.

Tutorial Penggunaan Spinner di Android

Tutorial Penggunaan Spinner di Android

Kita akan menggunakan Android Studio. Seperti biasa kita harus membuat proyek baru, kami menamakan proyek kali ini dengan nama Tutorialspinner dan buatlah sebuah activity.

Pertama, kita akan menamahkan item-item untuk spinner kita di file strings.xml. File ini berada di dalam folder values. Tambahkan kode dibawah ini kedalam file string.xml dan pastikan didalam tag resources.

<string-array name="marketplaces">
        <item>Tokopedia</item>
        <item>Bukalapak</item>
        <item>Jd.id</item>
        <item>Shopee</item>
        <item>Blibli</item>
        <item>Lazada</item>
</string-array>

Kemudian, kita akan membuat layoutnya. Layoutnya seperti ini

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:padding="30dp">

    <Spinner
        android:id="@+id/spinner1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:entries="@array/marketplaces"
        android:prompt="@string/ask_marketplace" />

    <Button
        android:layout_marginTop="10dp"
        android:layout_alignEnd="@id/spinner1"
        android:layout_below="@id/spinner1"
        android:id="@+id/btnSubmit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Submit" />
</RelativeLayout>

dan di activity nya seperti ini.

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        marketplacesSpinner = findViewById(R.id.spinner1);
        submitButton = findViewById(R.id.btnSubmit);

        submitButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                marketplace = marketplacesSpinner.getSelectedItem().toString();
                Toast.makeText(MainActivity.this, " Marketplace yang dipilih " + marketplace, Toast.LENGTH_SHORT).show();
            }
        });
    }

Untuk mendapatkan item yang terpilih dari spinner menggunakan marketplacesSpinner.getSelectedItem(), berikut hasilnya

Tutorial Penggunaan Spinner di Android

Tutorial Penggunaan Spinner di Android menggunakan adapter

Tutorial kita belum selesai. Sekarang kita akan mencoba menggunakan adapter. Bagian ini cukup panjang dan agak rumit. Pertama kita akan membuat sebuah object class yang bernama Marketplace. Isinya seperti ini

public class Marketplace{

    private int _id;
    private String _name;
    private String _url;
    public Marketplace(){
        this._id = 0;
        this._name = "";
        this._url = "";
    }
    public void setId(int id){
        this._id = id;
    }
    public int getId(){
        return this._id;
    }
    public void setName(String name){
        this._name = name;
    }
    public String getName(){
        return this._name;
    }
    public String get_url() {
        return _url;
    }
    public void set_url(String _url) {
        this._url = _url;
    }
}

lalu adapternya seperti ini, simpan dengan nama Marketplace_adapter

public class Marketplace_adapter extends ArrayAdapter<Marketplace> {

    private Context context;
    private Marketplace[] values;
    public Marketplace_adapter(Context context, int textViewResourceId,
                       Marketplace[] values) {
        super(context, textViewResourceId, values);
        this.context = context;
        this.values = values;
    }

    @Override
    public int getCount(){
        return values.length;
    }

    @Override
    public Marketplace getItem(int position){
        return values[position];
    }

    @Override
    public long getItemId(int position){
        return position;
    }


    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        TextView label = (TextView) super.getView(position, convertView, parent);
        label.setText(values[position].getName());
        return label;
    }

    @Override
    public View getDropDownView(int position, View convertView,
                                ViewGroup parent) {
        TextView label = (TextView) super.getDropDownView(position, convertView, parent);
        label.setText(values[position].getName());
        return label;
    }
}

lalu ini isi dari MainActivity yang sesuai dengan penggunaan adapter.

package com.tukangaplikasi.tutorialspinner;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {


    Spinner marketplacesSpinner;
    String marketplace;
    Button submitButton;
    private Marketplace_adapter adapter;
    String selectedUrl,selectedName;
    Integer selectedId;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        marketplacesSpinner = findViewById(R.id.spinner1);
        submitButton = findViewById(R.id.btnSubmit);

        Marketplace[] market = new Marketplace[2];

        market[0] = new Marketplace();
        market[0].setId(1);
        market[0].setName("Bukalapak");
        market[0].set_url("bukalapak.com");

        market[1] = new Marketplace();
        market[1].setId(2);
        market[1].setName("Tokopedia");
        market[1].set_url("tokopedia.com");

        adapter = new Marketplace_adapter(MainActivity.this,
                android.R.layout.simple_spinner_item,
                market);

        marketplacesSpinner.setAdapter(adapter);

        marketplacesSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view,
                                       int position, long id) {
                Marketplace market = adapter.getItem(position);

                selectedUrl =  market.get_url();
                selectedName = market.getName();
                selectedId = market.getId();
            }
            @Override
            public void onNothingSelected(AdapterView<?> adapter) {  }
        });

        submitButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(MainActivity.this, 
"ID :" +selectedId + "\nName : "+selectedName +"\nUrl : " +selectedUrl, 
Toast.LENGTH_SHORT).show();
            }
        });


    }
}

Dan ini hasilnya

Tutorial Penggunaan Spinner di Android

Sekian artikel tentang Tutorial Penggunaan Spinner Android, semoga bermanfaat.

Subscribe To Our Newsletter

Subscribe To Our Newsletter

Kami memberikan tutorial baru tiap harinya !!!

You have Successfully Subscribed!