如何从片段中调用notifyDataSetChanged()?

时间:2014-07-03 13:35:48

标签: android

我有一个viewpager和一个FragmentStatePagerAdapter,以及一个名为Myfrag的片段类。 我想从Myfrag的一个对象调用notifyDataSetChanged(),如何调用?

3 个答案:

答案 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();
  }
}