在 Android 使用 Xamarin Forms 构建的 ListView 上拉动刷新不起作用

Pull to refresh not working on ListView in Android Build with Xamarin Forms

我目前正在深入研究 Xamarin Studio 并正在创建一个带有列表视图的简单示例应用程序。这应该使用 "Pull to refresh"。我已经将 Xamarin.Forms 依赖项更新为 2.1.0.6529 在所有使用它的地方 - 相应的 packages.config 包含以下行:

  <package id="Xamarin.Android.Support.v4" version="23.1.1.1" targetFramework="MonoAndroid60" />
  <package id="Xamarin.Forms" version="2.1.0.6529" targetFramework="MonoAndroid60" />

我仔细检查了每个部分 - PCL 一个、iOS 一个和 Android 一个 - 都包含它。

我的列表视图在 XAML 中定义如下:

        <ListView x:Name="SearchResults" ItemSelected="OnItemSelected" IsPullToRefreshEnabled="true" Refreshing="OnRefreshing">
            <!-- ListView definition -->
        </ListView>

我实现了 OnItemSelectedOnRefreshing 方法。

当我 运行 应用程序在 IOS 模拟器中时,拉动刷新有效,但是当我 运行 它在 Android 上时,我得到一个 XamlParseException 与消息 No Property of name IsPullToRefreshEnabled found 在说,

this.LoadFromXaml(typeof(SearchPage));

在我的 SearchPage.xaml.g.cs.

Android 项目设置为针对最新平台和最低 API 级别 15 构建,我正在尝试 运行 在 API 级别 19 上执行此操作。据我了解,这应该有效...

这里有什么问题?

你经历过这个link吗?这详细解释了 Xamarin Forum Link for Pull to refresh.

我解决了。这是一个依赖冲突。我做了什么:

  • 从 Android 项目中删除了所有依赖项
  • 仅添加了 Xamarin.Forms 及其依赖项,这些依赖项提取了所需的版本
  • Add packages 中搜索了 Acr.UserDialogs version:*
  • 选择了与依赖项匹配的最新版本的包
  • Acr.UserDialogs.Android.AppCompat
  • 一样
  • 在其他项目中使用相同的依赖项