首页 > Java > java教程 > 正文

如何以编程方式按值设置 Android Spinner 中的所选项目?

Susan Sarandon
发布: 2024-10-31 17:30:02
原创
884 人浏览过

How to Programmatically Set the Selected Item in an Android Spinner by Value?

通过值设置 Spinner 的选定项

更新视图时,您可能会遇到需要预先选择数据库中存储的值的情况一个旋转器。最初,您可能会尝试以下解决方案:

void setSpinner(String value)
{
    int pos = getSpinnerField().getAdapter().indexOf(value);
    getSpinnerField().setSelection(pos);
}
登录后复制

但是,由于 Adapter 接口不提供 indexOf 方法,这种方法会遇到障碍。

解决方案

要查找并比较微调器中特定值的位置,请按照以下步骤操作:

  1. 定义比较值,例如:StringcompareValue = "some value".
  2. 使用所需资源创建 ArrayAdapter:

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.select_state, android.R.layout.simple_spinner_item);
    登录后复制
  3. 将 ArrayAdapter 设置为 Spinner 的适配器:

    mSpinner.setAdapter(adapter);
    登录后复制
  4. 使用 getPosition 方法来确定 ArrayAdapter 中比较值的位置:

    if (compareValue != null) {
     int spinnerPosition = adapter.getPosition(compareValue);
     mSpinner.setSelection(spinnerPosition);
    }
    登录后复制

    通过执行以下步骤,您可以根据 Spinner 的值有效地预先选择 Spinner 中的值,而不是比它在列表中的位置。

以上是如何以编程方式按值设置 Android Spinner 中的所选项目?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板