Spinner OnItemSelectedListener [英] Spinner OnItemSelectedListener

查看:22
本文介绍了Spinner OnItemSelectedListener的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我找不到有关如何在单声道中执行此操作的示例.

I can't find an example of how to do this in mono.

有什么帮助吗?

添加代码

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 ();
    }

推荐答案

在 Mono for Android 中,许多侦听器接口已转换为 C# 事件,包括这个.在这种情况下,您可以连接到 ItemSelected 事件,而不必创建一个听众.Xamarin 有一个使用微调器的完整示例此处.

In Mono for Android a lot of listener interfaces have been translated to C# events, including this one. In this case you can hook into the ItemSelected event instead of having to create a listener. Xamarin has a full example of using a spinner available here.

根据您区分微调器值何时实际更改的请求,您可以执行以下操作:

Based on your request to differentiate when the spinner value has actually changed, you can do something like:

int initialSpinnerPosition = spinner.SelectedItemPosition;
spinner.ItemSelected += (sender, args) =>
                        {
                            if (args.Position != initialSpinnerPosition)
                            {
                                // do stuff
                            }
                        };

这篇关于Spinner OnItemSelectedListener的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆