Lucas
Lucas

Reputation: 639

Error: 'Spinner' does not contain a definiton for getSelectedItem'...'

I need to get the selected item off my spinner but I am getting the above error and I don't know why.

So, I am expecting to get the spinner selected item without calling the spinner's event handler, if that's possible, because I need to use it on my button click.

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

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

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

         //
         //getSelectedItem does not contain a definition!!!
         //
        String spinner_text = spinner.getSelectedItem().toString();

         //
         //Do I need this? 
         //
        spinner.ItemSelected += new EventHandler<AdapterView.ItemSelectedEventArgs>(spinner_ItemSelected);


        var adapter = ArrayAdapter.CreateFromResource(
                this, Resource.Array.planet_array, global::Android.Resource.Layout.SimpleSpinnerItem);
        adapter.SetDropDownViewResource(global::Android.Resource.Layout.SimpleSpinnerDropDownItem);
        spinner.Adapter = adapter;

        bt_ok.Click += delegate
        {

            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.SetTitle("Confirm");

            //
            //I need the value here!!!
            //
            builder.SetMessage(new Confirm().Choice(spinner_text));


            builder.SetCancelable(true);
            builder.SetPositiveButton("Yes", delegate { });
            builder.Show();
        };
    }

I tried this and this answers, but I couldn't get it working.

Upvotes: 1

Views: 182

Answers (1)

SushiHangover
SushiHangover

Reputation: 74174

The Java getSelectedItem method in Xamarin.Android is transformed to a C# read-only property (SelectedItem):

var spinner = FindViewById<Spinner>(Resource.Id.dd_spinner);
var selectedItem = spinner.SelectedItem;

Upvotes: 3

Related Questions