6
スピナーから値を選択します。同じ値を再び選択すると、そのクリックに対してアクションは実行されません。同じスピンナー値の選択でアクションを呼び出す方法
スピナーから値を選択します。同じ値を再び選択すると、そのクリックに対してアクションは実行されません。同じスピンナー値の選択でアクションを呼び出す方法
使用このカスタムのSpinnerクラス...
/** Spinner extension that calls onItemSelected even when the selection is the same as its previous value */
public class NDSpinner extends Spinner {
public NDSpinner(Context context)
{ super(context); }
public NDSpinner(Context context, AttributeSet attrs)
{ super(context, attrs); }
public NDSpinner(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());
}
}
}
...以前に選択した値を追跡し、現在選択し、選択した値が、両方が同じで、前の1 – Pragnani
チェック現在選択VALUと前のものであるかどうかを確認か否か。 –