android – 如何在MvxSpinner中设置所选项目

android – 如何在MvxSpinner中设置所选项目,第1张

概述我有一个MvxSpinner绑定到List< PhotoCategory>从而: <Mvx.MvxSpinner style="@style/Spinners" android:id="@+id/photoCategorySpinner" android:prompt="@string/photoCategory_prompt" local:MvxBind="Ite 我有一个MvxSpinner绑定到List< Photocategory>从而:

<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中设置所选项目所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1128917.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存