我在网上找不到该功能的任何文档,谷歌甚至没有发现任何远程有用的东西。我试图找到原始代码但失败了:)(我怀疑我是否能理解它。)所以有人知道这个函数实际上是做什么的吗?它返回什么“项目 ID”?
我认为如果GetItemAtPosition
返回项目中包含的字符串,GetItemIdAtPosition
可能会返回“名称”属性的内容。但像往常一样,它并不像预期的那样。
我使用了基于此的微调器:
<string-array name="choices">
<item>Choose action</item>
<item name="3">Back to 3</item>
<item name="2">Back to 2</item>
</string-array>
从微调器中选择选项时使用 toast 进行输出:
private void choice_callback (object sender, ItemEventArgs e) {
Spinner spinner = (Spinner)sender;
string toast = string.Format ("Chosen action: {0} at pos {1} ID {2}",
spinner.GetItemAtPosition (e.Position),
e.Position,
spinner.GetItemIdAtPosition(e.Position));
Toast.MakeText (this, toast, ToastLength.Short).Show ();
}
输出“Chosen action: Back to 3 at pos 1 ID 1”和类似的;换句话说,返回的spinner.GetItemIdAtPosition(e.Position)
似乎和它自己是一样的e.Position
。
旁注:该应用程序基于此微调器教程:http ://docs.xamarin.com/android/tutorials/User_Interface/spinner 。我只采用了您可以在上面看到的位来尝试查看下拉列表中的项目是否可以通过它们的位置以外的方式来识别。