如何按值而不是按位置设置微调器的选定项?

如何按值而不是按位置设置微调器的选定项?

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

我记得这样的事情,但Adapter没有indexOf办法,所以我被困住了。

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



心有法竹
浏览 419回答 3
3回答

慕丝7291255

一种基于值设置微调器的简单方法是mySpinner.setSelection(getIndex(mySpinner,&nbsp;myValue)); &nbsp;//private&nbsp;method&nbsp;of&nbsp;your&nbsp;class &nbsp;private&nbsp;int&nbsp;getIndex(Spinner&nbsp;spinner,&nbsp;String&nbsp;myString){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(int&nbsp;i=0;i<spinner.getCount();i++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(spinner.getItemAtPosition(i).toString().equalsIgnoreCase(myString)){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;i; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0; &nbsp;}复杂代码的方法已经存在,这只是更简单。

拉风的咖菲猫

我保留了Spinners中所有项目的单独ArrayList。这样我可以在ArrayList上执行indexOf,然后使用该值在Spinner中设置选择。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
Android