4
我有一个API在一个使用AsyncTask在后台执行一些工作的jar。我需要等待结果返回,然后再用这个结果做更多的炒作。AsyncTask - 如何等待onPostExecute()完成之前使用它已更新的值
我发回onPostExecute()方法中的一个类,然后结果在UI线程上处理,但处理程序需要定义为完全不同项目中的回调,所以我不能只做这项工作在onPostExecute。
在第二个项目,我需要等待的AsyncTask结束和应对处理,那么我需要在第二个项目,以显示处理的结果,一个TextView的活动。
Thread.sleep和使用CountDownLatch不起作用,因为处理是在UI线程中完成的。有没有办法做这样的事情?
亚历嗨, 非常感谢您的快速和有用的回复。不幸的是(我的不好解释不好,对此感到抱歉)这在我的情况下不起作用,因为我实际上只是使用这个TextView来测试回调处理程序正确地解析一些数据。所以这个问题真的是我想我不能在回调中引用TextView。如果可能的话,我需要'返回'更新TextView的返回值,并保持这些独立。在这种情况下有什么想法?谢谢你帮我澄清这个问题:-) –
你可以试试'Messenger'。我会在此处添加链接,但Android网站似乎已停用。 –
Messenger javadoc:http://developer.android.com/reference/android/os/Messenger.html –