2017-07-28 51 views
1

我需要将选定的项目从我的微调框中移除,但出现上述错误,我不知道为什么。错误:'Spi​​nner'不包含getSelectedItem的定义'...'

因此,我期望在不调用微调控件的事件处理程序的情况下获取微调控件选定的项目,如果可能的话,因为我需要在按钮点击时使用它。

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

我试图thisthis答案,但我无法得到它的工作。

+0

您应该考虑与[Xamarin文档】熟悉自己(https://developer.xamarin.com //)。扫描API文档可以帮助您找出Android Java API和Xamarin C#API之间的这些差异。 –

回答

2

Xamarin.Android Java的getSelectedItem方法转化为C#只读属性(SelectedItem):

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

它返回null。微调加载everthing好吧,但是当我点击按钮现在打破了应用程序。 – Lucas

+0

你使用你的标识符吗? 'Resource.Id.dd_spinner'我输入了一个通用的,但编辑为使用一个你的代码.... – SushiHangover

+0

是..这是我的代码... Spinner spinner =(Spinner)FindViewById (Resource.Id.dd_spinner ); var spinner_text = spinner.SelectedItem; – Lucas

相关问题