我会在这里为以后的 PullToRefresh 用户写这个。我使用IntelliJ IDEA 而不是eclipse,所以请记住Module 和Project 这两个词是等价的。当您必须向 Eclipse 添加项目时,操作是 IDEA 中的添加模块。
以ActionBarSherlock 为例(从现在开始为 ABS)。
你有什么:
- 您有一个名为:MyProject 的模块。这是您的主要 Android 模块。
- 您想将 PullToRefresh 添加到 MyProject 中的一些片段(例如)。
第一步:下载并复制。
我个人喜欢克隆或复刻用于读取提交和更改日志的库。您不仅可以通过查看其他人的代码来学习,还可以获得有关您使用的库的“最新消息”。这是一个双赢的局面。记住 Jeff Atwood 说过的话:“Read The Source, Luke”。所以为了做到这一点,从the right URL克隆ActionBar-PullToRefresh。
现在我不喜欢用我的模块/项目进行克隆,所以我通常在其他地方克隆项目,然后手动移动我需要的东西。这很乏味,但这样我只能得到我想要的。那你需要什么?克隆包含两个重要目录:Extras 和Library。我们将需要这些东西。
将库目录复制到您的项目根目录:/path/to/your/project/pulltorefresh
将相应的(ABS 或 Compat)extra 也复制到您的项目根目录中……
这是你目前得到的:
/path/to/your/project/MyProject
/path/to/your/project/pulltorefresh
/path/to/your/project/pulltorefresh-abs (or compat)
第二步导入这些:
将这些模块(eclipse 中的项目)导入项目/工作区。如果您了解 IDE,这应该很简单,但作为快速参考:文件 -> 导入模块 -> 从上面找到 pulltorefresh 文件夹(以及稍后的 -abs 或兼容)并按照向导进行操作。如果您使用的是 Eclipse,请check this link to know how to do it。
现在您的左侧面板 (⌘1) 中应该有以下结构
MyProject
pulltorefresh
pulltorefresh-abs
第 3 步添加正确的引用
假设MyProject 有actiobnarsherlock.jar(因为你需要它)或compat 对应的android 支持库,并且你也有对应的android-support-v13(或v4)......
-
pulltorefresh 不需要任何库引用。
-
pulltorefresh-abs 需要参考:
pulltorefresh、android-suppport-vX 和 actiobbarsherlock
-
MyProject 需要参考:
pulltorefresh-abs、android-suport-vX 和 actiobbarsherlock
当然,android-support 和 actiobarsherlock 都可以放在 MyProject 中并由其他库导出(并从那里获取),但那是项目管理 101 ;)
第 4 步整合!
这更容易,只需关注Quick Start Guide。
记住:在旧版本的 lib 中,您必须在 Activity 中拥有附加程序,这不再是必需的。阅读文档,它非常简单(而且这种方式更加灵活)。
等等,如果你不使用 Sherlock 或 Compat 怎么办?
我还没有这样做,但我的猜测是:
- 不要在
extras 中导入-abs 或-compat。只需导入pulltorefresh。
- 在您的项目中,引用
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;
对于一个非sherlock纯项目:
import uk.co.senab.actionbarpulltorefresh.library.ActionBarPullToRefresh;
import uk.co.senab.actionbarpulltorefresh.library.listeners.OnRefreshListener;
import uk.co.senab.actionbarpulltorefresh.library.PullToRefreshLayout;
你从哪里弄来的?!?!?!?!
通过查看samples,卢克。
例如,here's for the stock version。
最后一步是盈利……但我把它留给你;)
如果您仍然有问题,只要您不问懒惰的问题,他们就会很友好。随时关注该项目并参与issues page at github。
祝你好运!