我找不到如何在单声道中执行此操作的示例。
任何帮助?
编辑:添加了代码
foreach (equip item in list)
{
tr = new TableRow(this);
sp = new Spinner(this);
sp.LayoutParameters = lp2;
sp.Adapter = adapter;
sp.ItemSelected += new EventHandler<ItemEventArgs>(spinner_ItemSelected());
sp.SetSelection(Convert.ToInt32(item.status));
tr.AddView(sp);
}
private void spinner_ItemSelected(object sender, ItemEventArgs e)
{
Spinner spinner = (Spinner)sender;
string toast = string.Format ("You selected {0}", spinner.GetItemAtPosition (e.Position));
Toast.MakeText (this, toast, ToastLength.Long).Show ();
}
答案 0 :(得分:10)
在Mono for Android中,许多监听器接口已被转换为C#事件,包括这个。在这种情况下,您可以挂钩ItemSelected事件,而不必创建一个监听器。 Xamarin有一个使用微调器here的完整示例。
修改强>
根据您在微调器值实际更改时区分的请求,您可以执行以下操作:
int initialSpinnerPosition = spinner.SelectedItemPosition;
spinner.ItemSelected += (sender, args) =>
{
if (args.Position != initialSpinnerPosition)
{
// do stuff
}
};
答案 1 :(得分:2)
你可以使用像
这样的标签bool userClick = false;
spinner.ItemSelected += (sender, e) => {
if(userClick) {
--- do stuff
}
userClick = true;
};
根据SQL数据
创建/更新微调适配器时userClick = false;