小编典典

如何按值而不是按位置设置 Spinner 的选定项?

all

我有一个更新视图,我需要在其中为 Spinner 预选存储在数据库中的值。

我正在考虑这样的事情,但是Adapter没有indexOf方法,所以我被卡住了。

void setSpinner(String value)
{
    int pos = getSpinnerField().getAdapter().indexOf(value);
    getSpinnerField().setSelection(pos);
}

阅读 76

收藏
2022-04-08

共1个答案

小编典典

假设你Spinner的名字是mSpinner,并且它包含作为它的选择之一:“一些值”。

要在 Spinner 中查找和比较“某个值”的位置,请使用以下命令:

String compareValue = "some value";
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.select_state, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mSpinner.setAdapter(adapter);
if (compareValue != null) {
    int spinnerPosition = adapter.getPosition(compareValue);
    mSpinner.setSelection(spinnerPosition);
}
2022-04-08