【发布时间】:2012-11-24 05:51:01
【问题描述】:
我有一个主 Activity A,我在其中创建了一个后台线程来从 db 加载数据。加载完成后,我想更新可能已经显示在子活动 B 中的列表(如果用户同时导航到 B)。如果用户还没有导航到 B,这不是问题。
但是一旦 A 中的线程完成后如何更新 B 的列表?
B 是 A 的孩子。
谢谢,
【问题讨论】:
-
您需要将数据加载部分从 Activity 分离到
IntentService并注册一个Broadcastreciver以在从Intentservice完全加载数据时通知 Activity -
@EdwardSullen,还没有找到任何东西。
-
@imran,我会尝试,但没有更简单的解决方案?
-
@droidbee :我认为广播接收器是解决当前问题的唯一方法。但您也可以尝试在活动 B 中使用 SheredPreferences 或额外的线程
-
@imrankhan,我实现了 IntentService 的解决方案。我的 bg 加载东西需要查询 db,所以我需要一个 Context。如果我将 IntentService 作为内部类,它永远不会运行。如果我把它变成一个单独的类,如何在那里有上下文? getApplicationContext() 不起作用。谢谢。
标签: android multithreading user-interface android-activity