【问题标题】:Force close when trying to use BetterAsyncTask in droid-fu Android尝试在 droid-fu Android 中使用 BetterAsyncTask 时强制关闭
【发布时间】:2010-09-08 18:05:18
【问题描述】:

我目前正在尝试使用 android 库 android fu 来帮助我开发第一个合适的应用程序。

我正在尝试使用 droid fu 库创建一个测试项目,但是当我去测试应用程序时,它会强制关闭。

我使用了 asynctask 的示例,当我测试应用程序时,它会加载并执行它的意思,但是当我将其替换为 betterasynctask 时,应用程序强制关闭。

您可以从http://androidapp.dino-digital.com/DroidFuTest.zip下载测试应用的源代码

【问题讨论】:

  • 你能显示堆栈跟踪吗?在 Eclipse 中查看 logcat 窗口,或从命令行运行 adb logcat。
  • 嗨,这是我在 Eclipse 中调试应用程序时得到的结果(logcat 窗口)androidapp.dino-digital.com/logcat.txt
  • 您在使用 BetterActivity 吗?它们应该一起使用
  • 您好,我正在使用 BetterDefaultActivity。我已经完成了 hwrdprkns 所说的,该示例现在可以在没有对话框的情况下运行。理想情况下,我希望在后台执行某些操作(例如下载 xml)时加载进度对话框

标签: android android-asynctask droid-fu


【解决方案1】:

这是因为您没有为对话框提供有效的资源指针。在您实例化任务之后——尝试调用task.disableDialog(); 方法。之后它应该可以工作了。

编辑:看到用户想要一个自定义对话框——我会把你指向this 链接。只需创建一个新的自定义对话框(或仅使用 Android 的帮助程序方法来创建对话框)并从您的代码中引用该 ID。

【讨论】:

  • 感谢该示例的工作,但如果我想要 progressDialog 同时它执行诸如在后台下载 xml 文件之类的操作,我会怎么做?
【解决方案2】:

即使 hwrdprkns 是正确的,禁用对话框将使应用程序能够使进度对话框工作,我添加到以下内容以使对话框工作。

调用两行设置对话框内容

super.setProgressDialogTitleId(R.string.dialog_title);
super.setProgressDialogMsgId(R.string.dialog_message);

在您的 strings.xml 中定义 "droidfu_progress_dialog_title"droidfu_progress_dialog_message

【讨论】:

    猜你喜欢
    • 2014-03-12
    • 1970-01-01
    • 2016-08-17
    • 2011-05-12
    • 2017-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多