我正在使用MainActivity.java
中的ViewPager和五个片段。
现在我遇到了问题。
正常运行notifyDataSetChanged()
可以正常工作:
viewpager.getAdapter().notifyDataSetChanged();
但是如何从片段中运行notifyDataSetChanged()
?
我不知道。
我尝试了什么
使ViewPager静态然后运行
MainActivity.this.viewpager.getAdapter().notifyDataSetChanged()
不起作用。
答案 0 :(得分:0)
向您的MainActivity
添加方法
public void dataChanged() {
viewpager.getAdapter().notifyDataSetChanged();
}
并从您的片段中调用
((MainActivity) getActivity()).dataChanged();
答案 1 :(得分:0)
您可以通过各种方法执行此操作:
最简单的方法 - 在MainActivity.java中声明一个公共方法如下:
public void onDataSetChanged(){
if(viewPager != null) {
viewPager.getAdapter().notifyDataSetChanged()
}
}
然后从像这样的片段中调用它:
((MainActivity) getActivity()). onDataSetChanged();
public interface OnDataSetChangeListener {
void onDataSetChanged();
}
在MainActivity.java中声明并定义它的实例,然后将其设置为片段的实例。然后从片段中调用它:
onDataSetChangeListener.onDataSetChanged();
还有更多。