项目未在mvxlistview中显示

时间:2013-08-11 08:33:09

标签: xamarin.android mvvmcross

我正在使用mvvmcross(非常有趣)但是我一直在添加和删除mvxlistview中的项目时遇到问题:

我的视图绑定到从Web服务器检索的项目列表,因此它在不同的线程中完成:

async void  ActivateSearchInvoked ()
    {
        _activeSearchViewModel.IsLoading = true;
        await _activeSearchViewModel.Search (SearchString);
        _activeSearchViewModel.IsLoading = false;
    }   

搜索是一种调用InnerSearch的方法,这是视图模型中的代码

protected override Task InnerSearch ()
    {
        Users.Clear ();
        return Task.Factory.StartNew (SearchForUsers);
    }

    protected virtual void SearchForUsers()
    {
        int requestringUserID = AppConfiguration.Instance.User.ID;
        List<User> users = GetUsersFromWeb();
        if(users == null)
        {
            return;
        }
        foreach (var item in users)
        {
            Users.Add (new UserViewModel (item));
        }
        RaisePropertyChanged (() => Users);
    }

直到刷新屏幕(例如旋转屏幕),这似乎无法正常工作我错过了什么吗?

由于

阿米特

1 个答案:

答案 0 :(得分:3)

除非您实际使用其他源列表或INotifyCollectionChanged支持集合,否则MvxAdapter将收到您的更改通知 - 但实际上并不知道它有任何工作要做。

为了解决这个问题,请: