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) {
            }
        }) ;
    }

你可能感兴趣的:(问题记录-Android,Android,spinner)