取消或中断runOnUiThread(Runnable)[Android]

时间:2014-09-26 11:17:16

标签: java android multithreading

核心是,我的Android应用程序包括在获取和显示内容的面板之间导航。每个面板在后台线程上调用fetchContent,然后在获取内容后,fetchContent调用runOnUiThread(displayContent),以显示内容。当用户切换面板时,会调用名为panelSwitch的事件。

如果用户在提取内容之前切换面板,则panelSwitch会取消/中断fetchContent,而displayContent会通过不调用panelSwitch来处理中断。但是,我在想如果用户切换面板时UI线程上已经发生了某些事情,那么panelSwitch会被推到事件队列的后面。然后,如果后台线程在runOnUiThread(displayContent)到达队列前面之前完成提取内容,则displayContentpanelSwitch推送到事件队列的末尾,displayContent之后。这意味着UI将切换面板,然后将显示前一个面板中的内容,这是错误的。

有没有办法像fetchContent一样取消/中断{{1}}?

0 个答案:

没有答案