通过值设置 Spinner 的选定项
更新视图时,您可能会遇到需要预先选择数据库中存储的值的情况一个旋转器。最初,您可能会尝试以下解决方案:
void setSpinner(String value) { int pos = getSpinnerField().getAdapter().indexOf(value); getSpinnerField().setSelection(pos); }
但是,由于 Adapter 接口不提供 indexOf 方法,这种方法会遇到障碍。
解决方案
要查找并比较微调器中特定值的位置,请按照以下步骤操作:
使用所需资源创建 ArrayAdapter:
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.select_state, android.R.layout.simple_spinner_item);
将 ArrayAdapter 设置为 Spinner 的适配器:
mSpinner.setAdapter(adapter);
使用 getPosition 方法来确定 ArrayAdapter 中比较值的位置:
if (compareValue != null) { int spinnerPosition = adapter.getPosition(compareValue); mSpinner.setSelection(spinnerPosition); }
通过执行以下步骤,您可以根据 Spinner 的值有效地预先选择 Spinner 中的值,而不是比它在列表中的位置。
以上是如何以编程方式按值设置 Android Spinner 中的所选项目?的详细内容。更多信息请关注PHP中文网其他相关文章!