【问题标题】:implementing OnScrollListener for MvxListView为 MvxListView 实现 OnScrollListener
【发布时间】:2014-07-01 03:32:20
【问题描述】:

我想拆分 ListView 中元素的加载我知道我需要实现一个 OnScrollListener 但没有这样的类...只有 IOnScrollListener 缺少 OnScrollMethod...有没有人尝试在 MonoDroid 中这样做?它在 android 中看起来很简单,但我似乎可以弄清楚如何将该代码移植到 MonoDroid 和 MvxListView...

谢谢

阿米特

【问题讨论】:

  • 为什么不使用 C# 事件而不是丑陋的 Java 回调方法?

标签: android-listview xamarin.android mvvmcross


【解决方案1】:

Cheesebaron 的评论是正确的答案 - 在这个完全相同的问题上,我自己遇到了 IOnScrollListener 的问题(根本没有触发)。

我改用ListView.ScrollStateChanged 事件。我的代码是这样的,我相信你可以按照自己的方式实现(_caseTable 是我的 ListView):

            _caseTable.ScrollStateChanged += (o, e) =>
                                                 {
                                                     var adapter = (CaseListAdapter)_caseTable.Adapter;
                                                     if (e.ScrollState != ScrollState.Idle)
                                                     {
                                                         adapter.IsScrolling = true;
                                                     }
                                                     else
                                                     {
                                                         adapter.IsScrolling = false;
                                                         adapter.NotifyDataSetChanged();
                                                     }
                                                 };

【讨论】:

    【解决方案2】:

    不知道您所说的不丢失这些是您必须为 AbsListView.IOnScrollListener 实现的功能是什么意思

    public class test: AbsListView.IOnScrollListener
    {
    
        public void OnScroll (AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount)
        {
            throw new NotImplementedException ();
        }
    
        public void OnScrollStateChanged (AbsListView view, ScrollState scrollState)
        {
            throw new NotImplementedException ();
        }
        public void Dispose ()
        {
            throw new NotImplementedException ();
        }
        public IntPtr Handle {
                get { 
                    return new IntPtr ();
                }
        }
    
    }
    

    【讨论】:

    • 不确定,但您的 IOnScrollListener 可能还需要从 Java.object 继承才能使其正常工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-15
    • 1970-01-01
    • 2014-02-27
    • 2018-09-22
    • 2019-03-09
    • 1970-01-01
    • 2016-06-27
    相关资源
    最近更新 更多