android中控件spinner

博客内容介绍了在Android开发中使用Spinner控件时遇到的常见问题及其解决方案,包括默认选择项触发事件、重复选择不触发事件以及弹出框遮挡问题。通过设置适配器、反射方法以及自定义Spinner等方法,成功解决了这些问题。
摘要由CSDN通过智能技术生成

从没想过使用基本控件也会采坑,查找资料后写一个demo测试一番。
【坑1】默认选择第一项并且执行一次onItemSelected事件。
【坑2】同一个item选中第二次的时候不触发OnItemSelectedListener(PS:有时候这反而是优点,如选择语言时,现在已经是简体中文,你再点击设置简体中文无效。)。
【坑3】Spinner弹出框遮挡住显示框。

下面看解决办法:

Spinner mySpinner;

private void initSpinner() {
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, getData());
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        mySpinner = findViewById(R.id.my_spinner);
        mySpinner.setAdapter(adapter);
        mySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
                Toast.makeText(MainActivity.this,dataList.get(i),Toast.LENGTH_SHORT).show
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值