【问题标题】:Pull to refresh not working on ListView in Android Build with Xamarin Forms使用 Xamarin 表单在 Android 构建中的 ListView 上拉刷新不起作用
【发布时间】:2016-07-23 03:14:37
【问题描述】:

我目前正在研究 Xamarin Studio,并正在创建一个带有列表视图的简单示例应用程序。这应该使用“拉动刷新”。我已经将 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 模拟器中运行应用程序时,Pull to refresh 工作,但是当我在 Android 上运行它时,我收到一个 XamlParseException 和消息 No Property of name IsPullToRefreshEnabled found 的行,上面写着,

this.LoadFromXaml(typeof(SearchPage));

在我的SearchPage.xaml.g.cs.

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

这里有什么问题?

【问题讨论】:

  • 您是否已验证您的 Android 项目中的 Xamarin.Forms 包引用也已更新? (不仅仅是您 PCL 项目中的参考)
  • 是的,我多次验证了这一点。我发布的 packages.config 摘录确实来自 Android 项目。
  • 您在 19 上运行它,但您的目标是什么?我问是因为它适用于我的应用程序,该应用程序设置为最低 15 和目标 23(即使我正在测试的设备是 19)。
  • 我现在使用 git clean -fdx 进行了清理,但情况变得更糟 - Android 应用程序现在显示 The type or namespace 'Xamarin' could not be found in the global namespace。但也许 Acr.UserDialogs 是罪魁祸首,因为它不允许我更新 Acr.Support。
  • 原来 ACR UserDialogs 确实是导致问题的那个。它需要较新版本的 Xamarin.Forms 所需的旧版本的依赖库。必须找到替代方案,然后......

标签: c# android ios xamarin.android xamarin.forms


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    你浏览过这个链接吗?这详细解释 Xamarin Forum Link for Pull to refresh.

    【讨论】:

    • 这描述了如何手动执行此操作,但从 Xamarin.Forms 1.4 开始,PullToRefresh 原生可用。
    猜你喜欢
    • 2017-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-09
    • 2020-10-03
    • 1970-01-01
    • 2014-09-08
    • 2022-07-22
    相关资源
    最近更新 更多