【发布时间】:2015-01-22 11:07:32
【问题描述】:
我有一个线程正在运行,我设置了一个侦听器以了解工作何时完成,在我的侦听器中,我有一个方法 onCompleted,它返回一些我用来更新我的 UI 元素的数据。
有时我会得到 NPE,我认为是因为用户更改了 Activity 或类似的东西。
我尝试使用NULL 检查,但每次都这样做很烦人。
现在我想问是否有人知道避免这种情况的简单方法,而不是在我的代码中进行空检查?
【问题讨论】:
-
如果您确定是因为活动变化,您可以在
onPause()、onStop()或onDestroy()中设置一个标志,但是,检查空值有什么问题? -
如果你需要
consume and specifically update the UI后台进程返回的响应。然后你应该检查你的活动onDestroy()你的后台进程是否正在运行,如果它正在运行则取消后台进程ultimately u won't run into NPEs,这可以很容易地使用Android中的Async Task类来实现。
标签: java android user-interface concurrency