首页 >Java >java教程 >如何通过值在 Android Spinner 中预选值?

如何通过值在 Android Spinner 中预选值?

Barbara Streisand
Barbara Streisand原创
2024-11-04 12:45:02230浏览

How to Preselect a Value in an Android Spinner by its Value?

按值设置 Spinner 选定项目:综合指南

使用 Android 的 Spinner 小部件时,可能需要根据值预先选择一个项目取决于其值而不是其在列表中的位置。为此,可以采取以下步骤:

第 1 步:使用 ArrayAdapter 创建并初始化 Spinner

<code class="java">Spinner mSpinner = (Spinner) findViewById(R.id.my_spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.my_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mSpinner.setAdapter(adapter);</code>

第 2 步:检索要预选的值

假设所需的值存储在名为 preselectedValue 的变量中,请按如下方式检索它:

<code class="java">String preselectedValue = /* Fetch the stored value here */;</code>

第 3 步:搜索位置预选值的

预选值在Spinner适配器中的位置可以使用ArrayAdapter的getPosition()方法获取:

<code class="java">int position = adapter.getPosition(preselectedValue);</code>

第4步:设置 Spinner 的选择

知道预选值的位置后,使用 setSelection() 方法设置 Spinner 的选定项:

<code class="java">mSpinner.setSelection(position);</code>

这里是完整的代码片段来说明整个过程:

<code class="java">String preselectedValue = /* Fetch the stored value here */;

Spinner mSpinner = (Spinner) findViewById(R.id.my_spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.my_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mSpinner.setAdapter(adapter);

if (preselectedValue != null) {
    int position = adapter.getPosition(preselectedValue);
    mSpinner.setSelection(position);
}</code>

通过执行以下步骤,您可以通过在底层适配器中搜索值的位置来轻松地在 Spinner 中预选择值。

以上是如何通过值在 Android Spinner 中预选值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn