为了账号安全,请及时绑定邮箱和手机立即绑定

如何按值而不是按位置设置微调器的选定项?

如何按值而不是按位置设置微调器的选定项?

心有法竹 2019-08-15 14:57:39
如何按值而不是按位置设置微调器的选定项?我有一个更新视图,我需要为Spinner预先选择存储在数据库中的值。我记得这样的事情,但Adapter没有indexOf办法,所以我被困住了。void setSpinner(String value){     int pos = getSpinnerField().getAdapter().indexOf(value);     getSpinnerField().setSelection(pos);}
查看完整描述

3 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

一种基于值设置微调器的简单方法是

mySpinner.setSelection(getIndex(mySpinner, myValue));

 //private method of your class
 private int getIndex(Spinner spinner, String myString){
     for (int i=0;i<spinner.getCount();i++){
         if (spinner.getItemAtPosition(i).toString().equalsIgnoreCase(myString)){
             return i;
         }
     }

     return 0;
 }

复杂代码的方法已经存在,这只是更简单。


查看完整回答
反对 回复 2019-08-15
?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

我保留了Spinners中所有项目的单独ArrayList。这样我可以在ArrayList上执行indexOf,然后使用该值在Spinner中设置选择。


查看完整回答
反对 回复 2019-08-15
  • 3 回答
  • 0 关注
  • 418 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信