Show Prompt Text In A Spinner
Spinner is a very popular widget for android app developers. The Spinner widget is a single selection list widget. The Spinner shows an item at a time in its visible area. Other available items are visible inside a drop-down menu or a dialog view depending on Spinner mode. The Spinner widget display mode may be a dropdown or a dialog. The dropdown mode display Spinner hidden items inside a drop-down menu and the dialog mode display Spinner items inside a dialog window.
This android app development tutorial will demonstrate to you how can you set a prompt text in a Spinner widget. Spinner widget’s dialog display mode only allows us to set a prompt text for Spinner itself.
In the first step, we will add a Spinner widget to our XML layout file by using the Spinner tag and its attributes. Next, we will populate a String array by values. After it, we will convert the String array to an array list. We make an array adapter instance by using the array list. We data-bind the Spinner widget with an array adapter. The array adapter object will populate the Spinner widget with available items.
Now is the time to set a prompt text for the Spinner widget. To achieve this we have to set Spinner display mode to ‘dialog’ inside XML layout by Spinner ‘spinnerMode’ attribute. After that, we will call the Spinner setPrompt() method to set our desired prompt text for the Spinner element in the java or kotlin file. We can simply pass some text inside the setPrompt() method to show a prompt text in a Spinner dialog window.
This android app development tutorial will demonstrate to you how can you set a prompt text in a Spinner widget. Spinner widget’s dialog display mode only allows us to set a prompt text for Spinner itself.
In the first step, we will add a Spinner widget to our XML layout file by using the Spinner tag and its attributes. Next, we will populate a String array by values. After it, we will convert the String array to an array list. We make an array adapter instance by using the array list. We data-bind the Spinner widget with an array adapter. The array adapter object will populate the Spinner widget with available items.
Now is the time to set a prompt text for the Spinner widget. To achieve this we have to set Spinner display mode to ‘dialog’ inside XML layout by Spinner ‘spinnerMode’ attribute. After that, we will call the Spinner setPrompt() method to set our desired prompt text for the Spinner element in the java or kotlin file. We can simply pass some text inside the setPrompt() method to show a prompt text in a Spinner dialog window.
MainActivity.java
package com.cfsuman.androidtutorials;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Get the widgets reference from XML layout
Spinner spinner = findViewById(R.id.spinner);
// Initializing a String Array
String[] plants = new String[]{
"Laceflower",
"California sycamore",
"Mountain mahogany",
"Butterfly weed",
"Carrot weed"
};
// Convert array to a list
List<String> plantsList = new ArrayList<>
(Arrays.asList(plants));
// Initializing an ArrayAdapter
ArrayAdapter<String> spinnerArrayAdapter
= new ArrayAdapter<String>(
this,
android.R.layout.simple_dropdown_item_1line,
plantsList
);
// Set the drop down view resource
spinnerArrayAdapter.setDropDownViewResource(
android.R.layout.simple_dropdown_item_1line
);
// Set the spinner prompt text
spinner.setPrompt("Select an item");
// Finally, data bind the spinner object with adapter
spinner.setAdapter(spinnerArrayAdapter);
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#DCDCDC"
android:padding="64dp">
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:spinnerMode="dialog"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>


- How to dismiss AlertDialog in Android
- How to create a Yes/No AlertDialog in Android
- How to add a hint to Spinner in Android
- How to get Spinner selected item text in Android
- How to set selected item of Spinner programmatically in Android
- How to remove an item from Spinner programmatically in Android
- How to add an item to Spinner dynamically in Android
- How to programmatically scroll to specific item in a ListView in Android
- How to programmatically scroll at the top of a ListView in Android
- How to set ListView item click effect in Android
- How to change ListView selected item background color in Android