-1

私はAndroidアプリを構築しています。GUIが再描画されるオンタッチイベントに応答するメインビューがあります。また、特定のネットワーク イベントが発生したときに GUI を再描画する必要があります。ソケットでリッスンする別のスレッドがあります。現在、GUIスレッドではなくネットワークスレッドにGUIを再描画させています。GUIの再描画は予測可能であるため、これは問題ないようです。

ただし、再描画を必要とするメッセージをネットワークから受け取るシナリオがありますが、再描画を行う前にユーザー入力が必要です。ユーザーがすばやく入力しないと、ネットワーク スレッドがさらなる通信をリッスンするのではなく、その入力を待機してスタックするため、ネットワーク スレッドにこれを実行させるのをためらっています。

解決策は、このシナリオが発生したときにネットワーク イベントにイベントを発生させ、GUI スレッドが onTouch イベントをリッスンするようにそれをリッスンできるようにすることです。

1)これをどのように実装しますか?

他にもいくつか

2) onTouch イベントが実際には発生していないのに、Android をだまして発生したと思わせることができます。

3) GUI 上のボタンがイベントを起動すると、スレッドは onAction メソッドを実行します。これは GUI スレッドであるか、ボタンが独自のスレッドに存在しますか。

4

1 に答える 1

0

-使用できますjava.util.concurrent.CountDownLatch

-シナリオが発生するのを待ち、それが完了したら、GUI スレッドが作業を開始できるようにします。

于 2012-11-23T10:15:39.323 に答える