android – 刷新一个微调器

android – 刷新一个微调器,第1张

概述我有一个旋转器的视图.活动通过d出窗口启动另一个活动,我在其中添加或删除父级在Spinner中显示的值. 因此,在onActivityResult()中,我通过调用fillSpinner()方法刷新Spinner的内容,以便它反映任何其他或删除的值. 此方法的参数是先前选择的值: private void fillSpinner(String value){ Cursor c = mD 我有一个旋转器的视图.活动通过d出窗口启动另一个活动,我在其中添加或删除父级在Spinner中显示的值.
因此,在onActivityResult()中,我通过调用fillSpinner()方法刷新Spinner的内容,以便它反映任何其他或删除的值.
此方法的参数是先前选择的值:
private voID fillSpinner(String value){    Cursor c =  mDbHelper.getAllCategorIEs();    startManagingCursor(c);    c.movetoFirst();    String[] from = new String[]{DBAdapter.KEY_category};           SimpleCursorAdapter scCats = new SimpleCursorAdapter(        this,androID.R.layout.simple_spinner_item,c,from,new int[]{androID.R.ID.text1});    scCats.setDropDownVIEwResource(        androID.R.layout.simple_spinner_dropdown_item);    category.setAdapter(scCats);    if (value != null && value != "") {        category.setSelection((int)mDbHelper.categoryIndex(value));    }}

当我打开微调器时,它包含正确的列表(即它被刷新)并选择了正确的值.但是,Spinner控件本身(处于关闭状态)不会显示所选值,而是显示列表中的第一个值.

当我逐步调试调试器中的代码时,Spinner值在调用setSelection()之前和之后都是正确的(并且始终使用相同的正确ID调用它).但是,由于我无法退出事件,当我在短时间内恢复执行后,Spinner中的值会发生变化.

换句话说,当我从d出活动返回时,微调器显示的字符串已更改,并且与所选项不同.

任何想法都表示赞赏.

解决方法 我找到了一个解决该问题的简单方法:使用Spinner.setSelection(int position,Boolean Navigateto)形式让Spinner显示正确的选定项.

示例:Spin.setSelection(iPos,true);

祝好运.

总结

以上是内存溢出为你收集整理的android – 刷新一个微调器全部内容,希望文章能够帮你解决android – 刷新一个微调器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1135252.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存