Android 获取同步服务后刷新片段视图
我有一个同步服务,它以一定的间隔运行,并根据服务器数据更新客户端。现在,若用户对服务器数据做了任何更改,比如从listview中删除一个项,那个么该更改应该反映到相应的视图片段中 问题是-我在片段中得到更改,但这不是自动的。这意味着我必须来回地回到我的相关片段来查看我的更新 那么,我应该如何从后台运行的同步服务得到通知,我相应的片段视图现在已更改,以便我可以在我的服务器上调用我的刷新函数 片段视图 注意:我不想以一定的间隔一次又一次地刷新片段。我只想要 当我的片段视图更改时刷新 更新: 我得到的适配器计数给出了片段中列表视图项的计数。 因此,每当我得到更改的计数时,我都需要更新/刷新/重新加载片段。因此,我的计数将作为更改片段视图的触发器 这有点像:Android 获取同步服务后刷新片段视图,android,android-fragments,synchronize,Android,Android Fragments,Synchronize,我有一个同步服务,它以一定的间隔运行,并根据服务器数据更新客户端。现在,若用户对服务器数据做了任何更改,比如从listview中删除一个项,那个么该更改应该反映到相应的视图片段中 问题是-我在片段中得到更改,但这不是自动的。这意味着我必须来回地回到我的相关片段来查看我的更新 那么,我应该如何从后台运行的同步服务得到通知,我相应的片段视图现在已更改,以便我可以在我的服务器上调用我的刷新函数 片段视图 注意:我不想以一定的间隔一次又一次地刷新片段。我只想要 当我的片段视图更改时刷新 更新: 我得到的
if adapter.getCount() gets changed //how to get notified about this change
{
FragmentTransaction transactionOld =getActivity().getSupportFragmentManager().beginTransaction();
transactionOld.detach(this).commit();
FragmentTransaction transactionNew = getActivity().getSupportFragmentManager().beginTransaction();
transactionNew.attach(this).commit();
}
您应该在片段中使用,将其注册到onStart()
,然后在onStop()
中取消注册
当您的SyncServices
完成并更新了数据后,只需使用sendBroadcast()
发送一个广播,以通知您的片段是否可见
当然,您必须为广播设置自定义操作,如com.myapp.action\u SYNC
,但是你会在阅读时了解到这一点。你能不能也在上下文中提供一个例子,因为我的片段已经在扩展其他类,所以我不能做类似类片段a extensed BroadcastReceiver
。片段不能扩展BroadcastReceiver
。这毫无意义。我不明白你在说什么。好吧,那么我误解了如何在片段中使用BroadcastReceiver
。我想通过在片段中扩展它来使用它,然后使用它的方法。你能给出一些如何实现的想法吗?请看我的更新。我只需要更新适配器计数的视图。知道吗?我不明白。您将无法以这种方式实现它。“刷新/重新加载片段”是什么意思?