c# - 如何在 Spinner 中选择项目并将其用作字符串?

标签 c# android xamarin

只是想看看我是否能找出如何在微调器中选择项目并将其存储在字符串中,我已经看到了有关此问题的其他帖子,人们说将此行放入代码中: (在我在下面发布的代码的最后一行下方)

String Genders = Gender.getSelectedItem().toString();

我尝试了,但它在下面给了我一条红线 (getselecteditem()) - 说 spinner 不包含 getselecteditem() 的定义

这是我的代码:

  Spinner Gender;
  protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        SetContentView(Resource.Layout.Form);

        var Genders = new String[]
        {
            "Male", "Female"
        };
        BaseMale = 2000;
        Gender = FindViewById<Spinner>(Resource.Id.spinner1);
        Gender.Adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleSpinnerDropDownItem, Genders);

非常感谢您的帮助! :)

最佳答案

您可能需要实现选择句柄 (ItemSelected),如 https://developer.xamarin.com/guides/android/user_interface/spinner/ 中的示例所示:

protected override void OnCreate (Bundle bundle)
{
        base.OnCreate (bundle);

        // Set our view from the "Main" layout resource
        SetContentView (Resource.Layout.Main);

        Spinner spinner = FindViewById<Spinner> (Resource.Id.spinner);

        spinner.ItemSelected += new EventHandler<AdapterView.ItemSelectedEventArgs> (spinner_ItemSelected);
        var adapter = ArrayAdapter.CreateFromResource (
                this, Resource.Array.planets_array, Android.Resource.Layout.SimpleSpinnerItem);

        adapter.SetDropDownViewResource (Android.Resource.Layout.SimpleSpinnerDropDownItem);
        spinner.Adapter = adapter;
}

这里是句柄,所选项目的索引在此处显示为e.Position

private void spinner_ItemSelected (object sender, AdapterView.ItemSelectedEventArgs e)
{
        Spinner spinner = (Spinner)sender;

        string toast = string.Format ("The planet is {0}", spinner.GetItemAtPosition (e.Position));
        Toast.MakeText (this, toast, ToastLength.Long).Show ();
}

关于c# - 如何在 Spinner 中选择项目并将其用作字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42100972/

相关文章:

c# - 更新 LockScreen 背景

c# - IsClass ("className") 方法?

android - React Native 版本卡在应用程序 :mergeReleaseResources

android - future 的 Android 设备是否仍支持 OpenGL ES 1.x?

xamarin.ios - 某些标记格式的 Azure 通知中心注册失败

xamarin - 与目标 Sharpie 绑定(bind)会输出巨大的文件

c# - 使用 .Net 进行 RSA 签名并使用 OpenSSL 命令进行验证

c# - 在 ThreadPool 线程之间传递数据

java - 从Android中的OEM筛选出不需要的系统应用程序

c# - 如何使用 C# 在 xamarin android 中将字节数组转换为 pdf?