這個問題可能很不好,但我只是無法找到一個正確的解決方案。多個片段與不同expandableList的相同數據
因此,這裏是我的問題:
我想不顯示在多個ExpandableLists
數據(與我TaskObjects
一個java.util.List
)(可以說5)各在自己的片段,使用戶能刷卡在不同的列表之間。 目前我有MainFragmentActivity
,其中包含java.util.List
,PageViewer
和一個'擴展'FragmentPagerAdapter
(如TabsAdapter),其中包含標籤AllTaskFragment
和OverDueTaskFragment
。這兩個片段分別擁有自己的ExpandableList
和ExpandableListAdapter
(由我書寫)。
現在當用戶點擊任何ExpandableLists
中的某個子項時,我如何需要通知其他片段ExpandableListAdapter
進行更新?我試圖調用MainFragmentActivity
,然後從那裏調用所有片段,但片段ExpandableListAdapters
爲'null',但爲什麼?
更新:
如果事情在任何ExpandableListAdapter變化,我叫updateTabs()在
MainFragmentActivity
:我想我解決了這個問題,ATM是有工作
public void updateTabs() {
for(int i = 0 ; i < tabsAdapter.getCount() ; i++) {
UpdateableFragment updateableFragment = (UpdateableFragment) getSupportFragmentManager().findFragmentByTag(makeFragmentName(mViewPager.getId(),i));
updateableFragment.updateFragment();
}
}
private String makeFragmentName(int viewId, int index){
return "android:switcher:" + viewId + ":" + index;
}
它只是調用ea ch片段方法
public void updateFragment() {
adapter.notifyDataSetChanged();
}
這是一個很好的方法嗎?或者這可能會引發一些問題?
請提供代碼示例。 – david