android spinner默认什么都不选择

 我来答
_____Web_____
推荐于2016-04-20 · TA获得超过166个赞
知道小有建树答主
回答量:226
采纳率:0%
帮助的人:85.3万
展开全部
项目开发中经常有些变态的需求,比如要求spinner默认不选中任何一项。
如果你自定义spinner,那这个当然不是问题;也可以在原有的选项列表中开头增加一项空字符串项,默认显示这个空字符串也达到了效果,不过采用这种方式需要你在获取被选择项的位置时忽略空字符串项。
经过一番摸索,发现我们只要保证 spinner第一次展示时不显示即可,相关代码如下:
boolean isSpinnerFirst = true ;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main) ;
Spinner spinner = (Spinner)findViewById(R.id.spinner) ;
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if (isSpinnerFirst) {
//第一次初始化spinner时,不显示默认被选择的第一项即可
view.setVisibility(View.INVISIBLE) ;
}
isSpinnerFirst = false ;
}

@Override
public void onNothingSelected(AdapterView<?> parent) {
}
}) ;
}
百度网友1493138c0
2015-08-28 · TA获得超过1459个赞
知道小有建树答主
回答量:423
采纳率:50%
帮助的人:369万
展开全部
最简单的办法:放一个空选项,然后用setSelection(int)在初始化的时候选中这个选项。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chaozhung
2014-01-20 · TA获得超过567个赞
知道小有建树答主
回答量:803
采纳率:67%
帮助的人:270万
展开全部
在加载的时候使用setSelection来进行默认选中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-01-20
展开全部
这个问题,我也不知道,哈哈,同求答案
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小大大小小小大
2014-05-19 · TA获得超过139个赞
知道答主
回答量:38
采纳率:0%
帮助的人:16.6万
展开全部
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
switch (position) {
case 0:
if(isFirstIn){
isFirstIn = false;
}else{
Toast.makeText(PostDetail.this, "分享", Toast.LENGTH_SHORT)
.show();
}
break;
.
.
.懂了没,很简单的标记就可以了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式