我有一个viewpager和一个FragmentStatePagerAdapter
,以及一个名为Myfrag的片段类。
我想从Myfrag的一个对象调用notifyDataSetChanged()
,如何调用?
答案 0 :(得分:2)
adapter = new FragmentStatePagerAdapter(getActivity()。getApplicationContext()); listView.setAdapter(适配器);
只要您需要更新列表,请调用此函数。
答案 1 :(得分:0)
因此?
FragmentStatePagerAdapter adapter = new FragmentStatePagerAdapter() {
@Override
public Fragment getItem(int i) {
return null;
}
@Override
public int getCount() {
return 0;
}
};
adapter.notifyDataSetChanged();
答案 2 :(得分:0)
您可以使用BroadcastReceiver甚至Otto通知适配器此更改,或者您甚至可以创建一个接口来设置片段内的回调。像这样:
public interface IAdapterNotifer {
public void refreshAdapter();
}
public class MyFragment extends Fragment {
private IAdapterNotifier notifier;
public void setNotifier(IAdapterNotifier notifier) {
this.notifier = notifier;
}
// call notifier.refreshAdapter when you want to refresh it
}
public MyAdapter extends FragmentStatePagerAdapter implements IAdapterNotifier {
public void refreshAdapter() {
notifiyDataSetChanged();
}
}