Я также искал хорошее решение в интернете, но не нашел ни одного, который бы удовлетворял мои потребности.
Поэтому я написал это расширение для класса Spinner, чтобы вы могли установить простой OnItemClickListener, который ведет себя так же, как ListView.
Только когда элемент «выделен», вызывается onItemClickListener.
Веселитесь вместе с ним!
public class MySpinner extends Spinner
{
private OnItemClickListener onItemClickListener;
public MySpinner(Context context)
{
super(context);
}
public MySpinner(Context context, AttributeSet attrs)
{
super(context, attrs);
}
public MySpinner(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
}
@Override
public void setOnItemClickListener(android.widget.AdapterView.OnItemClickListener inOnItemClickListener)
{
this.onItemClickListener = inOnItemClickListener;
}
@Override
public void onClick(DialogInterface dialog, int which)
{
super.onClick(dialog, which);
if (this.onItemClickListener != null)
{
this.onItemClickListener.onItemClick(this, this.getSelectedView(), which, this.getSelectedItemId());
}
}
}