按值设置微调器选定项 - 将微调器适配器转换为阵列适配器?



我有一个由字符串.xml数组填充的微调器,用户将其设置为某些内容,我将其保存到首选项 - 我想保存字符串,因为我在进一步打印它的几个地方,而不是位置。 现在,当用户返回时,我想将微调器设置为先前选择的值。

如果我这样做

val myAdapter = mySpinner.adapter as ArrayAdapter<String>
mySpinner.setSelection(myAdapter.getPosition(savedValue))

它有效,但工作室警告我不要检查演员。有没有一些正确而漂亮的方法可以做到这一点?还是我必须去,从字符串资源数组创建 ArrayAdapter 并在那里搜索?

String[] stringArray = getResources().getStringArray(R.array.stringlist);
val itemPosition = Arrays.asList(stringArray).indexOf(string)
mySpinner.setSelection(itemPosition)

最新更新