我的数据库中有 1-50 条记录。我使用游标获取这些数据,并使用简单游标适配器将这些值设置为 Spinner。现在我需要的是我想设置一个值(例如第 39 个值)作为默认值。但我不想通过它的位置来设置它的值。
我知道如何通过其位置设置微调器默认值
spinner.setSelection(39)
会将微调器设置为该值。
但我不知道如何通过数据库中的值(文本)设置微调器默认值。
我知道数据库中的值。例如,“书籍”是旋转器中的值之一。我需要将微调器默认设置为书籍。
有没有可能的方法来做到这一点?
如果您通过以下方式设置微调器值ArrayList
or Array
您可以使用值的索引来分配微调器的选择。
String myString = "some value"; //the value you want the position for
ArrayAdapter myAdapter = (ArrayAdapter) mySpinner.getAdapter(); //cast to an ArrayAdapter
int spinnerPosition = myAdapter.getPosition(myString);
//set the default according to the value
spinner.setSelection(spinnerPosition);
查看链接如何按值而不是按位置设置 Spinner 的选定项目? https://stackoverflow.com/questions/2390102/how-to-set-selected-item-of-spinner-by-value-not-by-position
另外,您可以直接使用以下方法来避免临时整数变量“spinnerPosition”:
getPosition(String item)
那么分配代码将是:
//set the default according to the value
spinner.setSelection(myAdapter.getPosition(myString));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)