我有两个。每个[main]Fragment
包含几个ViewPagers
。ViewPager
从Fragments
获取数据。我需要更新所有ViewPager
中的数据,这些数据来自Fragments
。
我试过删除当前的ListViews
并添加新的(重新加载它),但是当我调用[main]Fragment
ListViews
中的[main]Fragment
或[main]Fragment
方法时,它并没有破坏或分离,只是隐藏并且我不能添加新的,只是将.remove([main]Fragment)
设为当前的…重新加载活动是个坏主意。请帮帮我。
最佳答案
Content Observers
这里有一个简单的uri,链接并没有说明如何操作。把这个放在执行数据更改的类中,这样任何片段都可以通过classname.content\u uri静态访问它。
private static final String BASE_PATH = "Imustdorefresh";//see content providers
private static final String AUTHORITY = "somethinguniquehereprobablyappcomname";
public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY
+ "/" + BASE_PATH);
这段代码在resume上分成片段查看链接不要忘记在onpause中注销
getContentResolver().
registerContentObserver(
CONTENT_URI,
true,
yourObserver);
//yourObserver是刷新片段的代码{在此处执行操作代码}
在更改数据的代码段中,每次数据更改后都调用contentresolver notify方法。内容解析程序将调用片段中注册的观察者。
getContext().getContentResolver().notifyChange(CONTENT_URI,null);
有关更多信息,请参见内容提供商和内容观察员。有关aContent Provider
关于android - 在ViewPager中重新加载或通知Fragment的数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25791664/