问题标签 [commonsware-cwac]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1279 浏览

android - MergeAdapter 出现问题

使用 Mark Murphy 的 MergeAdapter 时,一切编译正常,但是当 ListView 绑定发生时,调用 addAdapter() 方法时出现以下错误:

java.lang.NoClassDefFoundError: com.commonsware.cwac.sacklist.SackOfViewsAdapter

SackOfViewsAdapter jar 文件确实存在于 cwac-merge 项目的 libs 目录中。

我已经检查了该项目附带的演示项目,但我看不到任何我没有的东西,尽管当我尝试运行它时出现 NoClassDefFoundError 异常。

我感觉这是一个 Eclipse 配置问题,但我已经尝试了所有我能想到的方法。

有任何想法吗?

** 更新:SackOfViewsAdapter 也显示为 cwac-merge 项目中的引用库。

** 更新 2:我的 .classpath:

** 更新 3 - 将 SackOfViewsAdapter 复制到本地库目录。

0 投票
1 回答
196 浏览

android - 保存 TouchListView 并在下次应用打开时打开它

我需要帮助如何在拖放后保存 ListView 的订单。我的列表有项目(谷歌和雅虎),当用户按下它们时,它会打开 www.google.com 或 www.yahoo.com。

所以现在每次我重新排序我的列表视图并关闭应用程序时,它都会忘记我之前所做的订单并打开默认订单。

我的代码:

0 投票
1 回答
1991 浏览

android - ListView 项目排序/重新排序并保存更改?

我有一个ListView,我可以重新排序项目,但每次我退出应用程序并重新启动它时,订单都会恢复到默认值。如果有人能给我答案,也许我能做到这一点的一小部分,我将不胜感激。

示例:我有两个项目和两个链接。谷歌和雅虎。我使用拖放操作ArrayList。一切都很好,只是我不知道如何保存新订单。

我不知道是否有其他方法可以重新订购这些物品。

我使用 CWAC-TOUCHLIST 来执行此操作。

这是我已经走了多远:

有更聪明的方法吗?

0 投票
2 回答
272 浏览

android - WakefulIntentService 和 Toast

我想这是直接向 Mark 提出的问题,但我终生无法从 WakefulIntentService 的 doWakefulWork 方法中获得 Toast 通知。它从 onCreate 开始工作,但我需要使用通过 toast 消息中的意图获得的一些数据。

我试图从 OnCreate 中实例化处理程序,但这似乎没有做任何事情。我已经尝试了我能想到的一切。Toast 似乎并没有在主线程上运行。有什么帮助吗?

0 投票
1 回答
151 浏览

android - WakefulIntentService 完成后显示警报对话框?

我正在为wakefulIntentService 使用commansware 示例。在我的 doWakefulWork() 从后端获得更新的响应后,我被困在无法为用户创建警报对话框的地方?

我正在启动这项服务,并在收到好评后立即关闭。我的轮询间隔为 2 分钟,此服务最多可以轮询 3 次尝试,即 6 分钟。我不想显示通知和 toast 消息,因为我想在单击此警报对话框的按钮时捕获其他事件。

有关如何提醒用户此更新的任何帮助?

0 投票
1 回答
1370 浏览

android - 更新 MergeAdapter/SectionedAdapter

我正在尝试制作一个LazyList EndlessList 但使用分段适配器...这些部分将是将从 Internet 下载的项目页面。

我尝试使用 MergeAdapter 或已弃用的 SectionedAdapter(由 Mark Murphy 编写)来实现它的基本要点。但我面临着他们两个的问题。

1)使用SectionedAdapter,它可以很好地加载第一页,但是在第二页上我遇到了这个异常。

经过数小时的研究,我意识到这与错误的getViewTypeCount()值有关。但我不知道如何正确实现它。

2) 然后我尝试使用 MergeAdapter,但这只会让情况变得更糟,甚至部分以随机间隔出现。

我编写了一个小示例程序来展示我的实现。

那我错过了什么?任何帮助表示赞赏。提前致谢。

0 投票
1 回答
1174 浏览

android - 带有加载器和 EndlessCursorAdapter 的 ListFragment - Nightmare

我将从我想要完成的事情开始。

我有一个 ListFragment,与 LoaderCallbacks 关联以从数据库中检索数据。使用 AsyncTask 下载数据,并将其插入数据库。当用户到达列表底部时,使用 CWAC-Endless 小部件启动 AsyncTask 并下载更多数据。

我在这里遇到了几个问题,我已经尝试了很多个晚上来解决这个问题,我决定来这里寻求帮助。

第一个问题是configChanges。当用户旋转设备时,Activity 被销毁,然后重新创建所有 Fragment。我知道我可以将 setRetainInstance 设置为 true,但这无济于事,因为当 Activity 被拆除时 AsyncTask 仍在运行!

第二个问题与加载器有关。如果数据已下载,并且 AsyncTask 正常完成,则项目将正常显示在 List 中。假设数据库中有 20 个项目。当用户旋转设备,重新创建 Fragment 时,需要再次关联 Loader。发生这种情况时,数据不会立即加载到列表中,而是会启动用于下载的 AsyncTask,因为 CWAC-Endless 适配器认为它位于列表中的最后一项!

这两个问题都让我筋疲力尽。我需要重新审视这一点,因为我无处可去。

任何建议都可以,如果需要,我可以发布源代码。

编辑

好的,这里有更多细节可以帮助您提出一些建议。

我正在从互联网下载数据,它一次只会返回一定数量的项目。然后我必须在需要时请求更多数据(分页)。

我决定使用数据库,因为新的 Loader 功能使得确保数据加载有效且一致且没有任何线程问题变得如此简单。如果放弃 Loader 方法并使用标准适配器呈现数据是有意义的,我很乐意放弃这种方法并使用它。我只是想看看是否有人可以提供有关此解决方案为何如此困难的见解。

谢谢,

亚当

0 投票
1 回答
576 浏览

android - WakefulIntent服务集成

关于 CWAC 的 WakefulIntentService 实施,我有几个问题:

1) 在我的应用程序中同时使用多个 WakefulIntentServices 是否安全?

2)使用我自己的处理AlarmManager的代码仍然可以吗?这将节省我重新实现我的警报处理代码的时间。目前,我有一个带有静态方法和变量的类,应用程序中的其他类使用这些方法和变量来设置警报。然后,我的 AlarmReceiver 通过对 doWakefulWork() 进行分类来启动 WakefulIntentServices。

这堂课真是太棒了!

谢谢

0 投票
2 回答
425 浏览

android - Android - 我需要唤醒锁吗?

我有一个广播接收器,它在发送短信后监听“SMS_SENT”意图。据我所知,SMSManager 确实提供了一个唤醒锁,以便它可以实际发送 SMS(我没有任何证据,但常识会告诉我是这种情况)。

但是,我的 BroadcastReceiver 调用了一个 WakefulIntentService,它使用自己的唤醒锁,所以没关系。但是,接收器本身呢?我是否需要创建一个新的唤醒锁以保证调用 WakefulIntentService?或者我可以安全地忽略这一点,就像使用 AlarmManager 的接收器一样?

谢谢

0 投票
1 回答
1762 浏览

android - 通用位置轮询器

我尝试使用由 alexbirkett 编辑的 commonsware 的 locationpoller,但有时广播会超时并杀死应用程序

这是我的日志猫

这里是我的实现

这里是 locationreceiver.java

我不明白出了什么问题!

更新 02/04 现在问题消失了,谢谢!但出现这个