首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

避免在setAdapter之后自动调用微调器的onItemSelected

在Android开发中,setAdapter方法用于设置适配器,而onItemSelected方法是微调器(Spinner)的一个回调方法。当我们调用setAdapter方法后,如果不做任何处理,会自动触发微调器的onItemSelected方法,这可能会导致一些意外的结果。

为了避免在setAdapter之后自动调用微调器的onItemSelected方法,我们可以采取以下几种方法:

  1. 使用一个标志位来控制onItemSelected方法的执行。在调用setAdapter之前,将标志位设置为false,然后在setAdapter之后,再将标志位设置为true。在onItemSelected方法中,先判断标志位的值,如果为true,则执行相应的逻辑,否则不执行任何操作。
  2. 在调用setAdapter之前,将微调器的选择监听器(OnItemSelectedListener)设置为null,然后在setAdapter之后,再将选择监听器重新设置回去。这样,在setAdapter之后,不会触发onItemSelected方法。
  3. 使用post方法延迟执行onItemSelected方法。在setAdapter之后,通过Handler的post方法,将onItemSelected方法的执行延迟一段时间,以确保setAdapter完成后再执行onItemSelected方法。

以上是避免在setAdapter之后自动调用微调器的onItemSelected方法的几种常见方法。根据具体的需求和场景,选择适合的方法来解决这个问题。

(以上答案仅供参考,不涉及任何云计算品牌商的推荐)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • android下拉五级菜单联动

    android下拉五级菜单联动 一、问题引出 本人是一个不擅长Android的开发的,但是这几天在做联通的一个服务器配件管理系统,做完B/S的又要写C/S的,老板要求没办法。...最后在自己的努力下来构造JSON数据格式,其实弄明白感觉很简单,就是并保存你的上一级是谁,你的下一级是谁就可以了,但是数据库做的表没有结构可言很难构造出来有用的数据结构。...,因为他的键值是固定的,在查询的时候不需要条件,我们设置定的为factory; System.out.println(UrlUtil.getURLDecoderString(s)...,就先只能这样获取数据了,在查询上效率会面一些,但是一般不会分类太多,多的话那就是大的项目了,可以事先就存在redis中,用Zset,键值还是键,值还是值就获取的更快了。...,内容有点多,可以先运行试试,看看效果或许可以在必要的时候帮助你一点。 有好的解答和疑问可以在下方评论,也可以加我的QQ:1402876003. 网页五级下拉菜单联动请在博客里寻找。

    2.5K30

    项目需求讨论 - HyBrid 模式需求改造

    > adapterView) { } }); 然后你就开心的跑起了你的代码,发现我们刚进去界面,onItemSelected就被调用了一次。...what the fuck,我都还没有进行点击选项,怎么就被调用了。因为Spinner默认显示第一项内容,等于就是选中了第一项,也就会执行一遍onItemSelected方法。...解决方法:在调用setOnItemSelectedListener方法前,调用spinner.setSelection(0, false);默认不选中第一个,就OK了。...2.Spinner下拉框中的布局,也就是我点了Spinner后,出现的让你选择的界面的每个item的样式很简单,也就是Spinner.setAdapter中的adapter的布局设置为我们自己的布局就可以了...webview里面的页面就自动转到了首页中了。同理用户在网页里面的个人中心修改了密码。也是要再次回调我们的java方法,把新的密码发给我们。

    12510

    【Android从零单排系列二十四】《Android视图控件——Gallery》

    前言 小伙伴们,在上文中我们介绍了Android视图组件PopupWindow,本文我们继续盘点,介绍一下视图控件的Gallery。 注:Gallery在API29中已被弃用。...常见方法: setAdapter(SpinnerAdapter adapter):设置Gallery的适配器,用于提供数据和视图。...setOnItemSelectedListener(AdapterView.OnItemSelectedListener listener):设置监听器,以便在Gallery中的项被选中时触发回调。...setOnItemClickListener(AdapterView.OnItemClickListener listener):设置监听器,以便在Gallery中的项被点击时触发回调。...四 总结 Gallery在Android平台中已经不再被推荐使用,并且可能会对布局和交互造成一些限制。建议使用RecyclerView或ViewPager等更现代的控件来替代Gallery。

    31410

    2014-11-6Android学习------Spinner下拉选择框控件学习(二)---监听事件

    ,接下来总结下并整合下网上大家说的比较好的内容 Spinner控件的学习有以下几点: 1.在XML文件中定义 spinnerAdapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item,list> 一种是从资源文件中构造,也就是调用...Spinner没有展开前的UI类型 simple_spinner_dropdown_item这是点击圆圈选择方式 2)将Spinner控件和适配器进行绑定 spinner.setAdapter...(spinnerAdapter); 3)使用setOnItemSelectedListener()来设置Spinner的点击触发的callback函数,有onItemSelected和onNothingSelected...中,我们设置了prompt,根据@string在strings.xml中查找,prompt的内容为“太阳系行星:”在我们点击展开Spinner中,我们可以看到在最上面增加了提示,如上图所示。

    76720

    RTMP推送端如何调整采集端音量

    好多开发者提到,有些Windows机器或Android手机采集麦克风的音频,过小或过大,一般过小居多,还有就是,混音的时候,希望背景音音量大小可实时调整,针对这种情况,大牛直播SDK(Github)做了如下的设计...Windows平台推送端(以C#为例): /* *设置输入音量, 这个接口一般不建议调用, 在一些特殊情况下可能会用, 一般不建议放大音量 *index: 一般是0和1, 如果没有混音的只用...Android推送端: /** * 设置输入音量, 这个接口一般不建议调用, 在一些特殊情况下可能会用, 一般不建议放大音量 * * @param index: 一般是0和1, 如果没有混音的只用...adapter_in_audio_volume.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); in_audio_volume_selector_.setAdapter...setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected

    74700

    Android平台RTMP推送或GB28181设备接入端如何实现采集audio音量放大或缩小?

    我们针对jni层的设计如下:/** * 设置输入音量, 这个接口一般不建议调用, 在一些特殊情况下可能会用, 一般不建议放大音量 * * @param index: 一般是0和1, 如果没有混音的只用0...successful */public native int SmartPublisherSetInputAudioVolume(long handle, int index, float volume);调用逻辑如下...adapter_in_audio_volume.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); in_audio_volume_selector_.setAdapter...setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected...> parent) { } });感兴趣的开发者,可以参考实现,需要注意的是,audio采集可能不限于麦克风,也可能是第三方数据采集源,所以接口设计的时候,尽量考虑在

    16320

    Android开发笔记(三十八)列表类视图

    适配器视图的特点有: 1、定义了适配器的设置方法setAdapter,以及获取方法getAdapter。适配器用于传入视图展示需要的相关数据。...setAdapter : 设置适配器。ListView使用的适配器一般继承自BaseAdapter。 setOnItemClickListener : 设置点击事件的监听器。...该方式无需在代码中获取ListView的对象,直接调用setListAdapter方法设置适配器,同时实现ListActivity的点击方法onListItemClick来响应点击事件。...该方式要从布局文件中获取ListView的对象,然后调用该对象的setAdapter方法设置适配器,并调用ListView对象的setOnItemClickListener方法来设置点击事件的监听器。...setOnItemClickListener : 设置点击事件的监听器。 setOnItemLongClickListener : 设置长按事件的监听器。

    2.4K20

    android在代码中利用Spinner控件设置联动地区的解决办法

    需求就是地区选择可以弹出来,因为百度地图一般是获取当前的地址,我们需要的是他的家庭地址  所以才有了三级Spinner解决 地区问题  就是当用户填写了之后,下次再修改,你要给他显示出来上次填写的值,由于是联动的比较麻烦...,默认位置 因为在设置联动的时候都是根据上一个Spinner选择的值 id来决定下一个Spinner的值 接下来就先贴代码了   private void loadAddsSpinner() {...> arg0) { } }); } 这里面最重要的就是select代码了  注意最后一个参数的作用  position  他就是用来设置默认值的 后面就简单了,分析从服务器中返回的数据,... 为什么切分之后分为两种呢,因为我们有北京  重庆这样的特殊省份 根据省的名称返回省的代码: /** * 根据省名称返回 下标值 * @param proStr * @return...,你可能会认为,为什么上面不根据名称直接去获取市的代码,那你想多了,你可以看看我的根据array构造数组的时候怎么调用id值的 /** * 根据省 市代码 来获取 县的代码 * @param

    2.1K20

    【React Native 安卓开发】----侧边栏的实现DrawerLayoutAndroid以及第三方框架react-native-side-menu的使用【第六篇】

    导航视图一开始在屏幕上并不可见,不过可以从drawerPosition指定的窗口侧面拖拽出来,并且抽屉的宽度可以使用drawerWidth属性来指定。...无论抽屉处于那种状态,都仍然可以调用openDrawer/closeDrawer这两个方法打开和关闭。...on-drag 当拖拽开始的时候隐藏软键盘。 onDrawerClose function 每当导航视图(抽屉)被关闭之后调用此回调函数。...onDrawerOpen function 每当导航视图(抽屉)被打开之后调用此回调函数。 onDrawerSlide function 每当导航视图(抽屉)产生交互的时候调用此回调函数。...onDrawerStateChanged function 每当抽屉的状态变化时调用此回调函数。抽屉可以有3种状态: idle(空闲),表示现在导航条上没有任何正在进行的交互。

    6.8K40

    Kotlin入门(20)几种常见的对话框

    所以对于部分关键业务,App为了避免用户的误操作,很有必要弹出消息对话框,提醒用户是否真的要进行此项操作。...界面上的Spinner控件一开始是个右侧带向下箭头的文本,点击该文本会弹出一个选择对话框,选中某一项之后,对话框消失,同时界面上的文本替换为刚才选中的文本内容。...,经常属于耗时操作,往往要过好几秒才能加载完毕,在此期间为了减少用户的等待焦灼感,界面需要展示正在加载的动画,一方面避免造成App卡死的错觉,另一方面提示用户耐心等待。...当然,因为用到了Anko库的扩展函数,所以务必在代码头部加上一行导入语句: import org.jetbrains.anko.progressDialog 在水平进度对话框弹出之后,若想更新水平条的进度值...,则可调用以下代码设置当前进度:     dialog.progress = 进度值(取值为0到100) 当进度值达到100,意味着处理完成,此时即可调用对话框对象的dismiss函数关闭对话框,下图展示了水平进度对话框的进度变化效果

    2.8K30

    Kotlin入门(20)几种常见的对话框

    所以对于部分关键业务,App为了避免用户的误操作,很有必要弹出消息对话框,提醒用户是否真的要进行此项操作。...界面上的Spinner控件一开始是个右侧带向下箭头的文本,点击该文本会弹出一个选择对话框,选中某一项之后,对话框消失,同时界面上的文本替换为刚才选中的文本内容。...,经常属于耗时操作,往往要过好几秒才能加载完毕,在此期间为了减少用户的等待焦灼感,界面需要展示正在加载的动画,一方面避免造成App卡死的错觉,另一方面提示用户耐心等待。...当然,因为用到了Anko库的扩展函数,所以务必在代码头部加上一行导入语句: import org.jetbrains.anko.progressDialog 在水平进度对话框弹出之后,若想更新水平条的进度值...,则可调用以下代码设置当前进度: dialog.progress = 进度值(取值为0到100) 当进度值达到100,意味着处理完成,此时即可调用对话框对象的dismiss函数关闭对话框,下图展示了水平进度对话框的进度变化效果

    1.6K10
    领券