spinner默认不显示,spinner默认值
android spinner默认什么都不选择
项目开发中经常有些变态的需求,比如要求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怎样设置默认值 。?
虽然好几年了才看到,我还是回答一下:
mSpinnerCountrtSpinner.setSelection(125, true);
第一个参数是下标,第二个写true就OK了。
你之前先比对下标,然后加进去参数就行。
高难问题,高手请进,spinner怎么去掉默认选中项
boolean b = false;//下拉栏Item的选择事件 spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() { public void onItemSelected(AdapterView? adapterView, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub if (b) { //主要功能代码; } b = true; } public void onNothingSelected(AdapterView? arg0) { // TODO Auto-generated method stub } });这样spinner第一次载入的时候b为false,就不会执行方法里的主要代码,并把b置true,刚下一次便是真正的用户选择,主要代码得以执行。