【问题标题】:MvvmCross: What is the best way to get the selected item from an MvxListView in android?MvvmCross:从android中的MvxListView获取所选项目的最佳方法是什么?
【发布时间】:2013-05-22 17:37:33
【问题描述】:

我正在使用 MvvmCross v3.06,并且我在 android 中定义了一个绑定到列表的 MvxListView。我可以看到列表,但无法找到获取单击它时选择的项目的最佳方法。

目前我正在活动的 OnCreate 中执行以下操作,但不是特别是 MVVM,我想知道是否有更好的绑定方法?

var list = FindViewById<MvxListView>(Resource.Id.subslist);
list.ItemClick = ((MyViewModel)ViewModel).ItemSelectedCommand;

我找不到有关解决此问题的最佳方法的任何文档,因此任何帮助都会很棒。

【问题讨论】:

    标签: mvvm xamarin.android xamarin mvvmcross


    【解决方案1】:

    对于 android,最常见的技术是将 ItemClick 绑定到 MvxCommand&lt;TItem&gt; - 所以使用:

     local:MvxBind="ItemClick ItemSelectedCommand"
    

    您可以在以下示例中看到这一点:


    不太常见(到目前为止),对于 Android,您还可以在 MvxListView 上绑定到自定义绑定 SelectedItem

    此技术显示在 MoreControls 中的 Spinner (MvxSpinner) - https://github.com/slodge/MvvmCross-Tutorials/blob/master/MoreControls/MoreControls.Droid/Resources/Layout/FirstView.axml(此示例是在 N=18 视频期间实时构建的 - 请参阅 http://youtu.be/s1LhXdCTsn4?t=7m26s

    【讨论】:

    • 太棒了,真的很有用。非常感谢 Stuart,并对您在 MvvmCross 上的工作表示赞赏。
    • 我无法让 SelectedItem 功能适用于 MvxListView。我可以看到数据绑定工作,但选定的项目会暂时突出显示,然后突出显示消失。任何想法为什么?
    • 请参阅 stackoverflow.com/a/5058401/373321 了解 Android 不鼓励选择的原因...和 ​​stackoverflow.com/questions/18364907/… 了解一位用户的方法
    猜你喜欢
    • 2015-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-09
    • 1970-01-01
    相关资源
    最近更新 更多