In this tutorial, I am going to show you how can you get android spinner dropdown items.
Android Spinner is a widget that has a dropdown. Once you click on dropdown you will see various options and you can one among these.
Now, let start how to achieve this task.
Step 1: Create new project or open existing project
Create a new android application project and named as a spinner or open your existing project. You can use your spinner anywhere you need.
Step 2: spinner.xml
Create your spinner layout in res ->layout ->spinner.xml and design your spinner.xml as below code.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background">
<TextView
android:id="@+id/txtState"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/state"
android:layout_weight="1"
android:textStyle="bold"
android:textSize="16sp"/>
<Spinner
android:id="@+id/spinner"
android:layout_width="0dp"
android:layout_height="20dp"
android:layout_weight="1"/>
</RelativeLayout>
Step 3: MainActivity.java
package com.elsebazaar.spinner;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.spinner);
// get Spinner reference
Spinner spinner = (Spinner) findViewById(R.id.spinner);
// call method Spinner click listener
ItemSelectedListener();
// State Spinner Dropdown elements
List<String> state = new ArrayList<>();
state.add("NSW");
state.add("VIC");
state.add("QLD");
state.add("SA");
state.add("WA");
state.add("TAS");
state.add("NT");
state.add("ACT");
// Creating Array Adapter for Spinner
ArrayAdapter<String> dataAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, state);
// Dropdown list with radio button
dataAdapter.setDropDownViewResource(android.R.layout.select_dialog_singlechoice);
// Attach data adapter to spinner
spinner.setAdapter(dataAdapter);
}
private void ItemSelectedListener() {
mstate.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
// get a selected item
String item = parent.getItemAtPosition(position).toString();
// Showing a selected spinner item in a toast
//Toast.makeText(parent.getContext(), "Selected State: " + item, Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
//Write code here if nothing selected
}
});
}
}
Step 4: Run your App
That’s it. You get what you want. You can see in the above image you get a state drop down list with a radio button next to each state name.
Donate to support writers
You may interest on the following topics:
- How to implement searchView widget in android Studio through Recycleview?
- How to create an expandable listview in Fragments in Android Studio?
- How to create an expandable list view in Android Studio?
- How do I check Intel Virtualization Technology is enabled or not in Windows 10?
- Plugin ‘Android WiFi ADB’ is compatible with IntelliJ IDEA only because it doesn’t define any explicit module dependencies
- Could not install Gradle Distribution from ‘https://services.gradle.org/distributions/gradle-6.5-all.zip’
- How to solve “INSTALL_PARSE_FAILED_NO_CERTIFICATES” error in Android Studio?
- Android Studio Run/Debug configuration error: Module not specified.
- How to search in multiple nodes in Firebase Database?
- How to get the sum of child nodes in Firebase database?
- How to display website in an android app using WebView component?
- Android Layout Using ViewPager and Fragments
- How do I install Android Studio in Windows 10?
- How to display ListView in Fragments using ViewPagers?
- How to create a custom AlertDialog in Android Studio?
- How do I change the name under apps that display in google play store?
- Where does my database store in Android Studio?
- How to add google places autocomplete in Android Edittext?
- How do I convert dp into px in the android studio?
- What are the android screen background sizes?
- What are the sizes of the Android icon located inside the mipmap?
- How do I remember my android app signing key?
- How do I create a Toolbar in Android Studio?
- How to get Android Spinner Dropdown?
- error: package R doesn’t exist in android studio project?
- Firebase Email and Password registration for Android App
- How do I change the company domain name in Android Studio after creating a project?
- How do I make an existing Android Studio Project copy?
- How do I migrate an Android Studio 3.2 existing project to Android X?
- Step by step to insert both banner and interstitial ads in android apps.
- Android TimePicker upon clicking on edittext in Android Studio?
- Migrating to AndroidX Errors:
- How to popup date picker when clicking on edittext in Android Studio?
- AndroidX: ExampleInstrumentedTest.java Class Source code
- How to add user registration data into the Firebase database?
- Cannot find Symbol: ApplicationTestCase
- How do I use Android vector images in Android apps?
- How to create a new Android Virtual Device (AVD) in Android Studio?
- On SDK version 23 and up, your app data will be automatically backed up and restored on app install.
- App is not indexable by Google Search; consider adding atleast one Activity with an Action-View intent-filter.
- How do I style my button in Android app?
- How do I create drawable folder in Android Studio?
- How do I create new classes in Android Studio?
- How to create new android project tutorial?
- How to upgrade Android Studio 2.2.3 to new versions or Android Studio 3.5.3?
- error: Package R does not exist after renamed package name?