android spinner默认什么都不选择
5个回答
展开全部
项目开发中经常有些变态的需求,比如要求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) {
}
}) ;
}
如果你自定义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) {
}
}) ;
}
展开全部
最简单的办法:放一个空选项,然后用setSelection(int)在初始化的时候选中这个选项。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在加载的时候使用setSelection来进行默认选中
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-20
展开全部
这个问题,我也不知道,哈哈,同求答案
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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;
.
.
.懂了没,很简单的标记就可以了
@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;
.
.
.懂了没,很简单的标记就可以了
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询