我正在构建一个android应用程序,我有一个主视图,它响应导致GUI重新绘制自己的触摸事件。当某些网络事件发生时,我还必须重新绘制GUI。我有一个单独的线程在监听套接字。目前,我让网络线程重新绘制GUI,而不是由GUI线程来完成。这似乎没问题,因为重新绘制GUI是可以预测的。
然而,在这种情况下,我会从网络上收到一条消息,需要重新绘制,但在重新绘制之前需要用户输入。我现在很犹豫是否让网络线程这样做,因为如果用户没有快速输入,网络线程将被困在等待输入,而不是等待进一步的通信。
解决方案似乎是让网络事件在这种情况发生时触发一个事件,然后GUI线程可以像监听onTouch事件一样监听它。
1) 我该如何实现?
的其他一些事情
2) 当安卓实际上没有时,它可能会诱使安卓认为onTouch事件已经发生
3) 当GUI上的按钮触发某个线程执行onAction方法的事件时。是GUI线程,还是按钮存在于它自己的线程中。
-您可以使用java.util.concurrent.CountDownLatch
。
-您可以等待场景发生,当它完成时,让GUI线程可以开始工作。