Join us on the livestream at Android Dev Summit on 7-8 November 2018, starting at 10AM PDT!

ThemedSpinnerAdapter.Helper

public static final class ThemedSpinnerAdapter.Helper
extends Object

java.lang.Object
   ↳ androidx.appcompat.widget.ThemedSpinnerAdapter.Helper


A helper class which allows easy integration of ThemedSpinnerAdapter into existing SpinnerAdapters in a backwards compatible way.

An example BaseAdapter implementation would be:

 public class MyAdapter extends BaseAdapter implements ThemedSpinnerAdapter {
     private final ThemedSpinnerAdapter.Helper mDropDownHelper;

     public CheeseAdapter(Context context) {
         mDropDownHelper = new ThemedSpinnerAdapter.Helper(context);
         // ...
     }

     @Override
     public View getDropDownView(int position, View convertView, ViewGroup parent) {
         View view;

         if (convertView == null) {
             // Inflate the drop down using the helper's LayoutInflater
             LayoutInflater inflater = mDropDownHelper.getDropDownViewInflater();
             view = inflater.inflate(R.layout.my_dropdown, parent, false);
         }

         // ...
     }

     @Override
     public void setDropDownViewTheme(@Nullable Resources.Theme theme) {
         // Pass the new theme to the helper
         mDropDownHelper.setDropDownViewTheme(theme);
     }

     @Override
     public Resources.Theme getDropDownViewTheme() {
         // Return the helper's value
         return mDropDownHelper.getDropDownViewTheme();
     }
 }
 

Summary

Public constructors

ThemedSpinnerAdapter.Helper(Context context)

Public methods

LayoutInflater getDropDownViewInflater()

Returns the LayoutInflater which should be used when inflating any layouts from your SpinnerAdapter.getDropDownView(int, View, ViewGroup).

Resources.Theme getDropDownViewTheme()

Should be called from your adapter's ThemedSpinnerAdapter.getDropDownViewTheme(), returning the value returned from this method.

void setDropDownViewTheme(Resources.Theme theme)

Should be called from your adapter's ThemedSpinnerAdapter.setDropDownViewTheme(Theme)

Inherited methods

Public constructors

ThemedSpinnerAdapter.Helper

public ThemedSpinnerAdapter.Helper (Context context)

Parameters
context Context

Public methods

getDropDownViewInflater

public LayoutInflater getDropDownViewInflater ()

Returns the LayoutInflater which should be used when inflating any layouts from your SpinnerAdapter.getDropDownView(int, View, ViewGroup).

The instance returned will have a correct theme, meaning that any inflated views will be created with the same theme.

Returns
LayoutInflater

getDropDownViewTheme

public Resources.Theme getDropDownViewTheme ()

Should be called from your adapter's ThemedSpinnerAdapter.getDropDownViewTheme(), returning the value returned from this method.

Returns
Resources.Theme

setDropDownViewTheme

public void setDropDownViewTheme (Resources.Theme theme)

Should be called from your adapter's ThemedSpinnerAdapter.setDropDownViewTheme(Theme)

Parameters
theme Resources.Theme: the theme passed in to ThemedSpinnerAdapter.setDropDownViewTheme(Theme)