我正在使用凹凸安卓 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 线程上完成的。