Spinner同一Item事件响应+默认第一次不触发事件
来源:互联网 发布:银行业数据 编辑:程序博客网 时间:2024/05/16 18:00
1.设置第一次不触发点击事件:
mSpinner.setSelection(0, true);
2.响应同一Item事件:
原因在AbsSpinner源码中:
/** * Makes the item at the supplied position selected. * * @param position Position to select * @param animate Should the transition be animated * */ void setSelectionInt(int position, boolean animate) { if (position != mOldSelectedPosition) { mBlockLayoutRequests = true; int delta = position - mSelectedPosition; setNextSelectedPositionInt(position); layout(delta, animate); mBlockLayoutRequests = false; } }
自定义Spinner:
import android.content.Context;import android.support.v7.widget.AppCompatSpinner;import android.util.AttributeSet;/** * ----------Dragon be here!----------/ * ┏┓ ┏┓ * ┏┛┻━━━┛┻┓ * ┃ ┃ * ┃ ━ ┃ * ┃ ┳┛ ┗┳ ┃ * ┃ ┃ * ┃ ┻ ┃ * ┃ ┃ * ┗━┓ ┏━┛ * ┃ ┃神兽保佑 * ┃ ┃代码无BUG! * ┃ ┗━━━┓ * ┃ ┣┓ * ┃ ┏┛ * ┗┓┓┏━┳┓┏┛ * ┃┫┫ ┃┫┫ * ┗┻┛ ┗┻┛ * ━━━━━━神兽出没━━━━━━ * * @author Reginer in 2017/1/3 9:46. * QQ:282921012 * Description:点击相同item触发点击事件Spinner */public class ReselectSpinner extends AppCompatSpinner { public ReselectSpinner(Context context) { super(context); } public ReselectSpinner(Context context, AttributeSet attrs) { super(context, attrs); } public ReselectSpinner(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public void setSelection(int position) { if (getOnItemSelectedListener() != null) { getOnItemSelectedListener().onItemSelected(this, getSelectedView(), position, getSelectedItemId()); } }}
ps:不是AppcompatActivity继承Spinner。
0 0
- Spinner同一Item事件响应+默认第一次不触发事件
- Android中Spinner控件关于二次点击同一item无响应事件解析及处理方法
- ListView Item点击事件无效,不响应
- ListView的item点击事件不响应
- NavigationView item不响应点击事件
- UIButton 触发多个事件 响应同一函数
- 使用暴力反射让Spinner选择同一选项时触发onItemSelected事件
- listview的item点击事件不触发的处理
- Spinner点击相同item不响应时间
- android Sipnner点击相同Item不响应OnItemSelected事件
- 以自定义布局为Item的GridView不响应事件
- MouseLeftButtonDown 事件不触发
- scroll事件不触发?
- Spinner设置第一次默认不被选中
- 代码触发Spinner的点击事件
- PopupWindow响应ListView Item事件
- SimpleAdapter响应item点击事件
- ItemCommand事件不响应
- LeetCode 422. Valid Word Square 验证单词平方
- 动态SQL片段
- 2017年系统分析师架构师备考之路(一)
- 这是一份创业的感想,但也敲醒了很多人
- javascript Date format(js日期格式化)
- Spinner同一Item事件响应+默认第一次不触发事件
- 出现 java.lang.NoClassDefFoundError: 在Android 5.0以下
- Redis-cli 命令
- 七种跨域方法【2.document.domain篇】
- Leetcode 34. Search for a Range
- linux学习笔记--iconv命令
- Oracle树形统计--子节点汇总到父节点
- 微信三级分销程序关于会员关系的设计
- Codeforces Round #389 (Div. 2, Rated, Based on Technocup 2017 - Elimination Round 3) E