public static final class ThemedSpinnerAdapter.Helper extends Object
ThemedSpinnerAdapter
into existing
SpinnerAdapter
s 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(); } }
Modifier and Type | Method and Description |
---|---|
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) |
public void setDropDownViewTheme(@Nullable Resources.Theme theme)
ThemedSpinnerAdapter#setDropDownViewTheme(Theme)
theme
- the theme passed in to
ThemedSpinnerAdapter#setDropDownViewTheme(Theme)
@Nullable public Resources.Theme getDropDownViewTheme()
ThemedSpinnerAdapter.getDropDownViewTheme()
,
returning the value returned from this method.@NonNull public LayoutInflater getDropDownViewInflater()
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.