We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
public class CustomSpinner extends MaterialBetterSpinner { @Nullable private OnDismissListener onDismissListener; @Nullable private AdapterView.OnItemClickListener onItemClickListener; private int selectedPosition = -1; public CustomSpinner(Context context) { super(context); init(); } public CustomSpinner(Context context, AttributeSet attributeSet) { super(context, attributeSet); init(); } public CustomSpinner(Context context, AttributeSet attributeSet, int arg2) { super(context, attributeSet, arg2); init(); } private void init() { super.setOnDismissListener(() -> { clearFocus(); if (onDismissListener != null) { onDismissListener.onDismiss(); } }); super.setOnItemClickListener((parent, view, position, id) -> { selectedPosition = position; if (onItemClickListener != null) { onItemClickListener.onItemClick(parent, view, position, id); } }); } @Override public void setOnDismissListener(OnDismissListener dismissListener) { this.onDismissListener = dismissListener; } @Override public void setOnItemClickListener(AdapterView.OnItemClickListener onItemClickListener) { this.onItemClickListener = onItemClickListener; } public int getSelectedPosition() { return selectedPosition; } public void setSelectedPosition(int position) { selectedPosition = position; ListAdapter adapter = getAdapter(); if (adapter == null) { setText(""); return; } Object object = getAdapter().getItem(position); setText(object == null ? "" : object.toString()); } @Override protected void onTextChanged(CharSequence text, int start, int lengthBefore, int lengthAfter) { //Fix for setText() and disappearing items } @Nullable public Object getSelectedItem() { if (selectedPosition < 0) { return null; } ListAdapter adapter = getAdapter(); if (adapter == null) { return null; } return adapter.getItem(selectedPosition); } @Override public boolean onTouchEvent(MotionEvent event) { //Fix for empty data ListAdapter adapter = getAdapter(); return !(adapter == null || adapter.isEmpty()) && super.onTouchEvent(event); } }
The text was updated successfully, but these errors were encountered:
No branches or pull requests
The text was updated successfully, but these errors were encountered: