如何在 Android 中将项目 ID 分配给 Spinner 适配器?
我需要将某些类型标识符映射到我的 Spinner 适配器。
我已将类型标识符定义为常量:
public static int TYPE_SOMETYPE = 0;
// etc..
现在,我如何找出微调器中选择的类型?什么样的 SpinnerAdapter
是适合这项工作的工具?
I need to map certain type identifiers to my Spinner
's adapter.
I have defined the type identifiers as constants:
public static int TYPE_SOMETYPE = 0;
// etc..
Now, how could I find out what type was selected in the spinner? What sort of SpinnerAdapter
is the right tool for the job?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 BaseAdapter 接口来实现您自己的适配器类。它实现了 SpinnerAdapter 接口,因此您可以将其用作 Spinner 的适配器。
在此适配器中,您应该存储需要呈现的项目,例如将自定义 ID 设置为使用 .setTag() 在 .getView() 中返回的每一行视图的标签。或者,您可以根据项目位置在 .getItemId() 方法中返回这些 ID。
You could implement you own adapter class, using the BaseAdapter interface. It implements the SpinnerAdapter interface, so you can use it as an adapter for a Spinner.
In this adapter, you should store the items you need to present, and e.g. set you custom IDs as tags for every row View returned in .getView() with .setTag(). Or, you can return those IDs in the .getItemId() method, based on the items position.
我认为你必须在哈希映射或适配器外部的东西中保存额外的细节,然后使用微调器“位置”来获取你需要的类型?
I think you'd have to hold that extra detail in a hash map or something external to the adapter, and then use the spinner 'position' to get you the type you need?