[英]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.