gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 15:53:38 25 4
gpt4 key购买 nike

在我的项目中,继上一个关于从github导入某个库的问题之后,我决定实现另一个库,但是在这一点上我得到了很多错误。
Importing Android Listview refresh by pull, project-properties error
与谷歌目前使用chris banes的actionbar pulltorefresh:
我决定把这个库也用于我正在为实习开发的android应用程序。但是,当我试图从解包的zip文件将现有代码导入到工作区时,在库和示例活动中,我会立即收到大量错误。例如,在library文件夹中的actionBarPullToRefresh.java中,它在第一个私有hashMap中给类加下划线,并表示应该参数化对泛型类型类的引用。
ide(eclipse)还为包含的其他文件夹提供了大量的错误,当我使用properties->android选项卡将library文件夹添加到主项目的库中时,它会将错误转移到该项目中(非常合乎逻辑)。
有人能告诉我应该如何成功地导入和使用这个库吗?

最佳答案

我将在这里为将来的pulltorefresh用户写这篇文章。我使用IntelliJ IDEA而不是eclipse,所以记住module和project这个词是等价的。当您必须向eclipse添加项目时,操作是idea中的add module。
ActionBarSherlock为例(从现在起为abs)。
你所拥有的:
您有一个名为:myproject的模块。这是你的主要安卓模块。
您希望将pulltorefresh添加到myproject中的一些片段(例如)。
第一步:下载并复制。
我个人喜欢使用一个库的克隆或分叉来读取提交和更改日志。不仅可以通过查看其他人的代码来学习,还可以获得有关所使用库的“最新消息”。这是一个双赢的局面。记住杰夫·阿特伍德说过的话:“Read The Source, Luke”。为此,克隆actionbar pulltorefresh fromthe right URL
现在我不喜欢在模块/项目中使用克隆,所以我通常在其他地方克隆项目,然后手动移动所需的内容。这很乏味,但那样我只能得到我想要的。那你需要什么呢?克隆包含两个重要目录:extras和library。我们需要这些东西。
将库目录复制到项目根目录:/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,这应该很简单,但是作为一个快速的参考:file->import module->从上面找到pulltorefresh文件夹(后面还有-abs或compat),然后按照向导操作。如果您使用的是eclipse, check this link to know how to do it
现在,您应该在左面板(1)中具有以下结构
MyProject
pulltorefresh
pulltorefresh-abs

步骤3添加正确的引用
假设 MyProject具有 actiobnarsherlock.jar(因为您需要它)或相应的 compatAndroid支持库,并且您也具有相应的 android-support-v13(或v4)。
pulltorefresh不需要任何库引用。
Pulltorefresh ABS需要参考: pulltorefreshandroid-suppport-vXactiobbarsherlock
MyProject需要引用: pulltorefresh-absandroid-suport-vXactiobbarsherlock
当然,android支持和actiobarsherlock都可以位于myproject中,并由其他库导出(并从中获取),但这就是项目管理101;)
第四步整合!
这更容易,只要按照 Quick Start Guide操作即可。
记住:在旧版本的lib中,在一个活动中必须有一个attacher,这不再是必需的。阅读文档,它非常简单(而且这种方式更加灵活)。
等等,如果你既不用夏洛克也不用康柏怎么办??
我还没做过,但我猜是:
不要在 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;

对于非夏洛克纯项目:
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
祝你好运,神清气爽!

关于java - Chris Banes实现ActionBar-PulltoRefresh,库错误等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20526478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com