In custom spinner tutorial, we are going to demonstate an android Spinner with Image and Text. When select a customer from dropdown, we will display customer's firstName & lastName in Toast.
Customer is my model class, which I am going to use for demonstration.
Now, let's create CustomerAdapter class that extends ArrayAdapter as follows:
We must call a public constructor of ArrayAdapter from our constructor, as I did.
To customize Android Spinner we need to do 3 things:
Here is screenshot, how above layout looks like:
Our next step is to override getView method in CustomerAdapter. This method specify how Spinner look like once user has selected an item.
We also need to override getDropDownView method which specify how our option list will looks like.
Here is source of these 2 methods:
I wanted to display odd and even row in different color so I implemented my logic in initView method.
In this example, we are going to use demonstrate AutoCompleteTextView with customized suggestion box with custom filter logic.
Step 1: Create a new project in Android Studio and name it Spinner with custom arrayAdapter.
Step 2: Open res -> layout -> activity_main.xml and add following code
Step 3: Open res -> values -> strings.xml and replace it with below given code.
Step 4: Open your res ->values ->colors.xml and replace it's code with below given code of my colors.xml as follows:
Step 5: Create a new layout resource under res -> layout named customer_row.xml. Replace the code of customer_row.xml with below given code.
Step 6: Create a class Customer.java and replace it's code with below given code of my Customer.java as follows:
Step 7:Create a class CustomerAdapter.java and replace it's code with below given code of my CustomerAdapter.java as follows:
Step 8: Open your MainActivity.java and replace it's code with below given code of my MainActivity.java as follows:
Step 9: Clean and run the project to see the result.