0

私はバンプアンドロイドSDKを使用しています。私は放送受信機を持っています、そして私は異なるインテントフィルターに応じて私のuiからいくつかの要素を更新したいと思います。例えば

else if (action.equals(BumpAPIIntents.NOT_MATCHED)) {
                Log.i("Bump Test", "Not matched.");
                BumpTest inst = BumpTest.instance();
                if(inst != null) {

                    inst.UpdateMyText("testing");
                }

logcatでログエントリを確認できても、textviewupdateメソッドが呼び出されていないようです。

私は何か間違ったことをしていますか?

4

1 に答える 1

0

他のスレッド (BroadcastReceiver を呼び出すスレッドなど) から UI を更新することはできません。シンプルなAsyncTaskクラスを使用する必要があります。これは、完了するまでに時間がかかるアクションを実行した後に UI を更新することのみを目的として作成されました。UI スレッドの実行をブロックしないため、インターネットからのリソースの要求などを AsyncTask に入れることをお勧めします。良い副作用は、メイン プログラムが完了すると関数が呼び出されることです。この呼び出しは UI スレッドで行われます。

于 2012-09-17T21:41:16.647 に答える