0
我目前正面临一个问题:我需要等待我的请求的结果才能返回值。这里是我FragmentDispatcher的类FragmentDispatcher中任务/服务的等待结果
public static Fragment getFragment(){
switch (value) {
case "1":
// returns a fragment
break;
case "2":
// returns another fragment
break;
case "3":
// returns the correct fragment according to an async task or a Service response value
break;
}
// returns default fragment
}
我的情况的样品第三:我需要等待任务或服务,以完成到返回根据异步任务的响应值的片段(以事实上,这是一个布尔值)。由于异步任务是异步的,我的函数立即返回默认片段。
有人可以帮忙解决吗?
等待结果异步请求通常会使首先使请求异步的目的失效。例如,如果你在uI线程上尝试,你会得到一个Application Not Responding错误。你将不得不改变你的设计。例如,这个方法可以返回null来表示“我不知道什么片段”,而异步任务的结束可能会触发某种重试。这可能是一个太大的变化,覆盖Stack Overflow答案(或评论!) –
感谢您的评论,我同意使用异步任务是一种非常糟糕的方式。我还提到了服务或意向服务呢?感谢onEventMainThread方法,有什么方法可以用我们捕获的EventBus检索结果吗? – StevenTB