繁体   English   中英

根据名称而非Android中的位置设置选定的微调项

[英]Set selected spinner item based on a name, not a position in Android

我有一个活动中的三个微调器,可以在其中编辑用户已经输入数据库的信息。 通过查询SQLite数据库以匹配用户可以编辑的内容,我已经能够设置文本字段的文本。 旋转器可以做同样的事情吗?

例如,如果用户以前选择了2000年,那么在新的编辑活动中,我希望已在2000年选择了微调框,然后他们可以根据需要进行更改。

到目前为止,我只看到基于整数位置设置微调器位置的选项。 能提供一年吗? 谢谢你的帮助。

这是我目前正在使用我的月份微调器的内容:

ArrayList<String> list = new ArrayList( Arrays.asList(getResources().getStringArray(R.array.months)) );
int pos = list.get("March");
spinMonth.setSelection(pos);

您所能做的就是确定项目在微调器中的位置并设置微调器的选择。

int pos=yourlist.indexOf("2000");

spinner.setSelection(pos);

编辑:

ArrayList<String> list=new ArrayList( Arrays.asList(getResources().getStringArray(R.array.years)) );  // your array id of string resource
int pos= list.indexOf("2000");
spinner.setSelection(pos);

前一周我不得不做完全相同的事情。 这是我的方法。

String userName = dataCursor.getString(dataCursor.getColumnIndex("USER_NAME"));
int position = listOfUsers.indexOf(userName);
userSpinner.setSelection(position);

其中listOfUsers是我用来流行Spinner的列表userSpinner 希望有帮助!

简单的一行代码是

spinMonth.setSelection(Arrays.asList(getResources().getStringArray(R.array.months)).indexOf("March"));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM