当前位置: 首页 > 面试题库 >

Chris Banes实现ActionBar-PulltoRefresh,库错误等

郑正文
2023-03-14
问题内容

与目前使用Chris Banes的ActionBar-
PullToRefresh的Google保持一致:https : //github.com/chrisbanes/ActionBar-
PullToRefresh
,我决定我也想将该库用于我当前正在开发的Android应用程序我的实习。但是,当我尝试从解压缩的zip文件中将现有代码导入工作区时,在库以及示例活动中,我都会立即出现大量错误。例如,在库文件夹中的ActionBarPullToRefresh.java中,它在第一个私有哈希图中加了下划线,并表示应参数化对通用类型Class的引用。

IDE(eclipse)还会给包含的其他文件夹带来大量错误,当我使用属性->
android选项卡将库文件夹添加到主项目的库中时,它会将错误转移到该项目中(逻辑上相当)。

有人可以指导我如何成功导入和使用该库吗?


问题答案:

我将在这里为将来的PullToRefresh用户编写此代码。我使用IntelliJ
IDEA
而不是eclipse,因此请记住, 模块项目
一词是等效的。当您必须将项目添加到Eclipse时,操作是在IDEA中 添加模块

ActionBarSherlock(现在为ABS)的示例。

你所拥有的

  1. 您有一个名为:MyProject 的 模块 。这是您的主要Android模块。
  2. 您要在MyProject中将PullToRefresh添加到一些片段(例如)。

第一步下载并复制。

我个人比较喜欢读取或修改日志时使用的库的克隆或分支。您不仅可以通过查看其他人的代码来学习,而且还可以获得有关所用库的“最新消息”。这是双赢的局面。记住杰夫·阿特伍德(Jeff
Atwood)所说的话:“ 读源代码,卢克
”。因此,为了执行此操作,请从正确的URL克隆ActionBar-PullToRefresh 。

现在,我不喜欢将克隆与模块/项目一起使用,因此通常将项目克隆到其他位置,然后手动移动所需的内容。这很乏味,但是那样我只会得到我想要的。那么,您需要什么呢?该克隆包含两个重要目录:
ExtrasLibrary 。我们将需要这些东西。

将库目录复制到您的项目根目录:/path/to/your/project/pulltorefresh
将相应的(ABS或Compat)多余的内容也复制到您的项目根目录中…

到目前为止,这是您得到的:

/path/to/your/project/MyProject
/path/to/your/project/pulltorefresh
/path/to/your/project/pulltorefresh-abs (or compat)

第二步
导入这些模块:将这些模块(eclipse中的项目)导入到项目/工作区中。如果您了解您的IDE,这应该很简单,但可以作为快速参考:文件->导入模块->从上方找到pulltorefresh文件夹(以及以后的-
abs或compat)并按照向导进行操作。

现在您应该在左面板(⌘1)中具有以下结构

MyProject
pulltorefresh
pulltorefresh-abs

步骤3 添加正确的参考

假设MyProjectactiobnarsherlock.jar(因为您需要)或相应的android支持库,compat并且您也有相应的android- support-v13(或v4)…

  1. pulltorefresh 不需要任何库引用。
  2. pulltorefresh-ABS 需要的引用:pulltorefreshandroid-suppport-vXactiobbarsherlock
  3. MyProject的 需要的引用:pulltorefresh-absandroid-suport-vXactiobbarsherlock

当然,android-
support和actiobarsherlock都可以位于MyProject中,并由其他库导出(并从那里取出),但这就是项目管理101;)

步骤4 整合!这很容易,只需遵循快速入门指南。 记住 :在旧版本的lib,你 必须
有一个活动的附加器,即不再是必要的。阅读文档,它非常简单(这种方式更加灵活)。

等待,如果您不使用Sherlock或Compat怎么办?

我还没有这样做,但是我的猜测是:

  1. 不要在中导入-abs或-compat extras。只需导入pulltorefresh
  2. 在您的项目中,参考pulltorefresh

等等…进口呢?

对于任何库来说,正确导入都是很重要的,您必须注意而不是盲目地让您的IDE为您做这件事(或者至少总是仔细检查您要导入的内容)。您会惊讶地发现那里有多少“名称冲突”。

对于基于Action Bar Sherlock的项目,导入应为:

import uk.co.senab.actionbarpulltorefresh.extras.actionbarsherlock.PullToRefreshLayout;
import uk.co.senab.actionbarpulltorefresh.library.ActionBarPullToRefresh;
import uk.co.senab.actionbarpulltorefresh.library.listeners.OnRefreshListener;

对于 非夏洛克 纯项目:

import uk.co.senab.actionbarpulltorefresh.library.ActionBarPullToRefresh;
import uk.co.senab.actionbarpulltorefresh.library.listeners.OnRefreshListener;
import uk.co.senab.actionbarpulltorefresh.library.PullToRefreshLayout;

你从哪儿得到的?!?!!?!?!

通过查看样本,卢克。

例如,这里是库存版本的。

最后一步是获利……但我把这留给您;)

如果您仍然有问题,则只要您不问懒惰的问题,他们都很友好。随时关注该项目,并参与github上的问题页面。

祝你好运令人耳目一新!



 类似资料:
  • 我试图与ActionBar-PullToRe鲜库Chris Banes工作,但当我导入到他的库时,我出错了。 我无法从github中看到平滑的进度条lib,我的build.gradle文件看起来像是错误的。所有的行都有错误"无法解析符号......" 我怎样才能使用这个图书馆? 当我重建库时,我收到了这样一条消息“Android-apt-编译器:[库] /Users/emreozdemir/Des

  • 本文向大家介绍Android实现简单的下拉刷新pulltorefresh,包括了Android实现简单的下拉刷新pulltorefresh的使用技巧和注意事项,需要的朋友参考一下 网上下拉刷新的DEMO很多,但是总有各种不满意的地方,有些会下拉卡住,有些回弹不流畅,有些性能太低会各种卡顿,有些emptyView无法下拉......  自己写的才是最合适自己的,代码很简单,也很容易修改,稍微阅读下代

  • android-pulltorefresh 是一个强大的拉动刷新开源项目,支持各种控件下拉刷新。 ListView、ViewPager、WevView、ExpandableListView、GridView、(Horizontal)ScrollView、Fragment上下左右拉动刷新,比下面johannilsson那个只支持ListView的强大的多。并且他实现的下拉刷新ListView在ite

  • 该项目为 Android 应用提供一个向下滑动即刷新列表的功能。

  • NativeScript-PullToRefresh NativeScript plugin to use Pull to Refresh on any view. UPDATE This plugin has been migrated to nativescript-community as of June 24, 2021.The repo can be found here: https:

  • 我目前正在spring boot中编写一个应用程序,并正在构建自己的自定义存储库。 首先,这里是有问题的代码: 启动应用程序后,它会失败,并出现以下堆栈跟踪: 非常感谢您的帮助:) 注意:此设置以前与JPA存储库一起使用,因此这不是服务调用它的问题,而是新服务存储库的故障。