如何在Spinners中分离标签和值



我正在尝试创建一个微调器,用于显示返回Pasta对象的API中的数据。

我希望Spinner的可选标签是Pasta.label,但我希望Spinner返回的实际值是另一个值(Pasta.Id(。在HTML:中有点像这样

<select>
<option value="spag">Spaghetti</option>
<option value="ravi">Ravioli</option>
</select>

我在SO上看到过其他问题,但似乎没有一个是真正的结论性问题。

我已经有了具有我需要的值的HashMap<String, String>。我只需要弄清楚如何将其转化为微调器。我想创建一个这样的类:

public class SpinnerItem {
public String key;
public String value;
}

并用SpinnerItems填充我的Spinner,这样当我稍后检索SpinnerItem时,我就可以执行getSelectedItem().getKey(),但我该如何编写一个执行此操作的ArrayAdapter呢?

您只需要在SpinnerItem类中使用字符串函数

public class SpinnerItem {
public String key;
public String value;
@Override
public String toString() {
return value;
}
}

这里也有现成的样品,希望能有所帮助。

最新更新