0

我正在使用bump android 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 我可以看到日志条目 textview 更新方法似乎没有被调用

难道我做错了什么?

4

1 回答 1

0

不允许您从其他线程(例如调用 BroadcastReceiver 的线程)更新 UI。您必须使用一个简单的AsyncTask类。创建它的唯一目的是在执行需要很长时间才能完成的操作后更新 UI。将诸如从 Internet 请求资源之类的事情放在 AsyncTask 中是个好主意,因为它不会阻止 UI 线程执行。好的副作用是当它完成时它会在你的主程序中调用一个函数,并且这个调用是在 UI 线程上完成的。

于 2012-09-17T21:41:16.647 回答