在我的应用程序中,我有不同的 ListView Activity 。数据来自具有 REST 方法的服务器,并且只在我启动应用程序时完成一次。
我想设置的模式是用我在本地已有的 JSON 预加载所有 ListView ,同时启动一个线程,用我的 REST 方法获取新的 JSON 文件,然后更新 ListView 。
现在,当我启动应用程序时,我会解析我的 JSON 文件,并构建所有对象列表。我稍后从我的列表适配器中以静态方式访问它们。
所以我想知道启动此 REST 线程并更新 ListView 的最佳方法。我应该使用 AsyncTask 吗?服务?然后,当我更新我的本地 JSON 时,我必须重新解析它们,更新对象列表,并调用我的适配器 NotifyDataChanged ?
谢谢
最佳答案
所以我找到了解决问题的完美方法。
我在我的 AsyncTask 的 onPostExecute() 中使用 sendBroadcast(),在我所有需要通知的 Activity 中使用 broadcastReceiver:
public class ConvenientActivity extends Activity {
...
...
public class RefreshReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(MyMainClass.REFRESH_INTENT)) {
mAdapter.refreshList();
}
}
}
}
它非常简单,而且工作完美。
关于android - REST 和 ListView 刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3310636/