android自动设置spinner项,Android Spinner默认值设置为空

博客讨论了Android中Spinner组件在设置默认值和监听器时遇到的问题。当使用 Spinner.setSelection(2, true) 设置默认选中第二项后,导致第二次点击该选项无响应。原因是Spinner默认已选择第一项并触发监听器,而二次点击第二项时由于默认选中,不再触发事件。解决方案是正确处理默认选中和监听器的状态。
摘要由CSDN通过智能技术生成

下拉控件Spinner默认显示列表第一个内容

a7ab8d6471bb

C2660F3A-F267-435B-8875-B226424A5C0F.png

设置默认值为空

boolean b = true;

private Spinner mSp_game_name;

mSp_game_name.setOnItemSelectedListener(new OnItemSelectedListener() {

@Override

public void onItemSelected(AdapterView> parent, View view, int position, long id) {

if (b) {

// 主要功能代码;

view.setVisibility(View.INVISIBLE);

} else {

//获取到对象

PhotoEntity photoEntity = (PhotoEntity)mSp_game_name.getSelectedItem();

}

b = false;

}

@Override

public void onNothingSelected(AdapterView> parent) {

// TODO Auto-generated method stub

}

});

2.设置完成后,达到我们的预期的效果了

a7ab8d6471bb

C8D9D497-2581-40A4-9EF7-BF403DDF0814.png

3.问题:此时点击“守望先锋”无任何反应,点击其他选项是没有问题的

4.解决:Spinner设置完适配器数据后(这里必须先给适配器设置数据),然后调用Spinner.setSelection(2, true);这样导致点击第二项是没反应的。

总结:

Spinner默认已经选择了第一项(回调了setOnItemSelectedListener函数),所以导致再次点击第一项是没反应,Spinner.setSelection(2, true)使Spinner默认选择第二项,导致再次点击第二项没反应,点击其他选项是有反应的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值