ThemedSpinnerAdapter.Helper


class 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

Helper(context: Context)

Public functions

LayoutInflater

Returns the LayoutInflater which should be used when inflating any layouts from your getDropDownView.

Resources.Theme?

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

Unit

Should be called from your adapter's setDropDownViewTheme

Public constructors

Helper

Added in 1.1.0
Helper(context: Context)

Public functions

getDropDownViewInflater

Added in 1.1.0
fun getDropDownViewInflater(): LayoutInflater

Returns the LayoutInflater which should be used when inflating any layouts from your getDropDownView.

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

getDropDownViewTheme

Added in 1.1.0
fun getDropDownViewTheme(): Resources.Theme?

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

setDropDownViewTheme

Added in 1.1.0
fun setDropDownViewTheme(theme: Resources.Theme?): Unit

Should be called from your adapter's setDropDownViewTheme

Parameters
theme: Resources.Theme?

the theme passed in to setDropDownViewTheme