[英]Call notifyDataSetChanged() within Fragment
我在MainActivity.java
使用ViewPager,有五个片段。
现在我有一个问题。
运行notifyDataSetChanged()
可以像这样正常工作:
viewpager.getAdapter().notifyDataSetChanged();
但是,如何从一个片段运行notifyDataSetChanged()
?
我不知道。
我尝试过的
使ViewPager静态,然后运行
MainActivity.this.viewpager.getAdapter().notifyDataSetChanged()
不起作用。
将方法添加到您的MainActivity
public void dataChanged() {
viewpager.getAdapter().notifyDataSetChanged();
}
从您的片段中调用
((MainActivity) getActivity()).dataChanged();
您可以通过多种方法执行此操作:
最简单的方法-在MainActivity.java中声明一个公共方法,如下所示:
public void onDataSetChanged(){ if(viewPager != null) { viewPager.getAdapter().notifyDataSetChanged() } }
然后从这样的片段中调用它:
((MainActivity) getActivity()). onDataSetChanged();
public interface OnDataSetChangeListener { void onDataSetChanged(); }
在MainActivity.java中声明并定义其实例,然后将其设置为片段的实例。 然后从片段中调用它为:
onDataSetChangeListener.onDataSetChanged();
还有很多。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.