package com.myMinistry.model;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.Spinner;
/**
* Spinner extension that calls onItemSelected even when the selection is the
* same as its previous value
*/
public class PublisherSpinner extends Spinner {
public PublisherSpinner(Context context) {
super(context);
}
public PublisherSpinner(Context context, AttributeSet attrs) {
super(context, attrs);
}
public PublisherSpinner(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public void setSelection(int position, boolean animate) {
boolean sameSelected = position == getSelectedItemPosition();
super.setSelection(position, animate);
if (sameSelected) {
// Spinner does not call the OnItemSelectedListener if the same item is selected, so do it manually now
getOnItemSelectedListener().onItemSelected(this, getSelectedView(), position, getSelectedItemId());
}
}
@Override
public void setSelection(int position) {
boolean sameSelected = position == getSelectedItemPosition();
super.setSelection(position);
if (sameSelected) {
// Spinner does not call the OnItemSelectedListener if the same item is selected, so do it manually now
getOnItemSelectedListener().onItemSelected(this, getSelectedView(), position, getSelectedItemId());
}
}
}