MvvmCross MvxRecyclerView在滚动时复制项目

时间:2016-12-20 14:30:43

标签: android android-layout mvvmcross

我有一个Listview,其中包含以下xml作为列表项:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:local="http://schemas.android.com/apk/res-auto"
    android:layout_marginTop="20dp"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:textAppearance="?android:attr/textAppearanceMedium"
        local:MvxBind="Text Key" />
    <MvvmCross.Droid.Support.V7.RecyclerView.MvxRecyclerView
        android:id="@+id/inner_payment_list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        local:MvxItemTemplate="@layout/listitem_payment"
        local:MvxBind="ItemsSource .;ItemClick ItemClickCommand; ItemLongClick ItemLongClickCommand" />
</LinearLayout>

查看型号:

    /// <summary>
    ///     Returns groupped related payments
    /// </summary>
    public ObservableCollection<DateListGroup<DateListGroup<PaymentViewModel>>> Source
    {
        get { return source; }
        set
        {
            source = value;
            RaisePropertyChanged();
            // ReSharper disable once ExplicitCallerInfoArgument
            RaisePropertyChanged(nameof(IsPaymentsEmtpy));
        }
    }

在我的视图模型中,我通过Observable Collection将我的项目绑定到列表和Recyclerview。这项工作到目前为止。但是当我现在滚动时,recyclview会再次显示相同的项目。然后我可以再次向上和向下滚动,然后显示正确的项目。 所以它看起来似乎加速了。有没有办法防止这种行为?

0 个答案:

没有答案