在 Android Spinner 中设置值并显示文本
我需要帮助设置值并在微调器中显示文本。 现在,我正在通过数组适配器填充我的微调器,据
mySpinner.setAdapter(myAdapter);
我所知,执行此操作后,显示文本和微调器在同一位置的值是相同的。我可以从微调器获得的另一个属性是项目上的位置。
现在,就我而言,我想要制作类似于 .NET 中的下拉框的微调器。
其中包含文本和值。
其中显示文本,值位于后端。 因此,如果我更改下拉框,我可以使用其选定的文本或值。 但它不会发生在 android spinner 的情况下。
例如:
文本值
10 类
山 5
石头 9
鱼 14
河13
里脊17
所以从上面的数组中我只显示非生命对象文本,我想要的是当用户选择它们时我得到那里的值,即就像选择山时我得到 5
我希望这个例子让我的问题更清楚一点。 ..
谢谢
I need help in setting up value and display text in spinner.
as per now I am populating my spinner by array adapter e.g
mySpinner.setAdapter(myAdapter);
and as far as I know after doing this the display text and the value of spinner at same position is same. The other attribute that I can get from spinner is the position on the item.
now in my case I want to make spinner like the drop down box, which we have in .NET.
which holds a text and value.
where as text is displayed and value is at back end.
so if I change drop down box , I can either use its selected text or value.
but its not happening in android spinner case.
For Example:
Text Value
Cat 10
Mountain 5
Stone 9
Fish 14
River 13
Loin 17
so from above array I am only displaying non-living objects text, and what i want is that when user select them I get there value i.e. like when Mountain selected i get 5
I hope this example made my question a bit more clear...
thankx
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您不想创建自己的适配器类,您可以将数据包装在具有 toString 返回您想要在微调器中显示的内容的内容中。我使用这样的类:
当微调器发生变化时:
If you dont want to go through creating your own adapter-class you can instead wrap you data up in something that has toString returning what you want to show in the spinner. I use a class like this:
And when the spinner changes:
第 1 步:为文本和值对创建数据模型
第 2 步:扩展
BaseAdapter
或ArrayAdapter
以环绕您的数据模型,覆盖getView()
返回您想要在 Spinner 本身中显示的任何内容第 3 步:在选择事件中,使用位置在数据模型中查找相应的对象,然后查找值
If您想要在 Spinner 中显示的只是数据模型中每个元素的文本表示,您可以跳过自定义 Adapter - 只需使用 ArrayAdapter
即可。 YourModelClass>
并重写YourModelClass
上的toString()
以返回您想要的任何显示文本。Step #1: Create a data model for your text and value pair
Step #2: Extend
BaseAdapter
orArrayAdapter
to wrap around your data model, overridinggetView()
to return whatever you want to display in theSpinner
itselfStep #3: On a selection event, use the position to find the corresponding object in your data model, and look up the value
If all you want to display in the
Spinner
is just a text representation of each element in the data model, you can skip the customAdapter
-- just useArrayAdapter<YourModelClass>
and overridetoString()
onYourModelClass
to return whatever display text you want.