从广播接收器更新 UI



我正在使用凹凸安卓 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中我可以看到日志条目,似乎没有调用文本视图更新方法

我做错了什么吗?

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

最新更新