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

问题:

我有一个更新视图,我需要预先选择一个Spinner数据库中存储的值。
我在想这样的事情,但Adapter没有indexOf的方法,所以我被卡住了。

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

回答:

假设你的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.equals(null)) {
    int spinnerPosition = adapter.getPosition(compareValue);
    mSpinner.setSelection(spinnerPosition);
}

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: How to set selected item of Spinner by value, not by position?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

27 + = 34