24

Android Facebook SDK と非同期的に対話するコードがいくつかあります。残念ながら、これはバックグラウンド スレッドにあることを意味します。

Cocos-2dx はメイン スレッドで操作することを好みます。特にディレクターにシーンを切り替えるように指示するような場合 (Open GL が関係しているため)

メインスレッドで実行するコードを取得する方法はありますか?

4

4 に答える 4

54

Context がある限り、次のようなことができます。

Handler mainHandler = new Handler(context.getMainLooper());

そして、UI スレッドでコードを実行するには:

mainHandler.post(new Runnable() {

    @Override
    public void run() {
        // run code
    }
});

カカが示唆するように:

静的なLooper.getMainLooper()を使用することもできます。

アプリケーションのメイン スレッドに存在する、アプリケーションのメイン ルーパーを返します。

于 2013-10-14T18:37:30.573 に答える