<Mvx.MvxSpinner androID:ID="@+ID/photocategorySpinner" androID:prompt="@string/photocategory_prompt" local:MvxBind="ItemsSource PhotoCategorIEs; SelectedItem SelectedPhotocategory; Visibility ShowPhotoFIElds,Converter=Visibility" local:MvxDropDownItemTemplate="@layout/spinner_photocategorIEs" local:MvxItemTemplate="@layout/item_photocategory" />
SelectedItem绑定的SelectedPhotocategory也是Photocategory.当此屏幕处于“更新模式”时,viewmodel将SelectedPhotocategory设置为PhotocategoryID与sqlite数据库中的PhotocategoryID匹配的Photocategory.但是,当显示微调器时,会显示默认值(我添加到PhotoCategorIEs属性,Photocategory = 0,categoryname =“[选择类别]”).我发现的唯一修复是这个(工作正常)代码添加到视图中:
protected overrIDe voID OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentVIEw(Resource.Layout.PhotoVIEw); //If we're in Update mode,select the relevant photo category in the spinner: Photoviewmodel photoviewmodel = (Photoviewmodel)viewmodel; if (photoviewmodel.ScreenMode == Constants.ScreenMode.Update) { MvxSpinner photocategorySpinner = FindVIEwByID<MvxSpinner>(Resource.ID.photocategorySpinner); int itemposition = 0; int selectedPhotocategoryID = photoviewmodel.SelectedPhotocategory.PhotocategoryID; foreach (Photocategory photocategory in photoviewmodel.PhotoCategorIEs) { if (photocategory.PhotocategoryID == selectedPhotocategoryID) { photocategorySpinner.SetSelection(itemposition); } itemposition++; } }
我也尝试使用MvxSpinner.Adapter的Getposition方法,但是对于PhotocategoryID,categoryname或SelectedPhotocategory,它总是返回-1作为参数值.
我错过了什么?
解决方法 绑定SelectedItem SelectedPhotocategory
应该为你设置 – 并且应该使用Equals来找到要在微调器中选择的正确项目.
当使用https://github.com/slodge/MvvmCross-Tutorials/tree/master/ApiExamples中的Spinnerviewmodel进行测试时,这似乎可以在最新的代码中使用
我知道最近报道了一个关于在其中一个绑定中使用==与Equals的错误 – 但我不认为这会影响微调器(见https://github.com/slodge/MvvmCross/issues/309).
总结以上是内存溢出为你收集整理的android – 如何在MvxSpinner中设置所选项目全部内容,希望文章能够帮你解决android – 如何在MvxSpinner中设置所选项目所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)