这个问题可能非常愚蠢,但我无法找到正确的解决方案。
所以这是我的问题:
我想在自己的 Fragment中以多个(比如说 5 个)显示数据(ajava.util.List
和 my ),以便用户能够在不同的列表之间滑动。目前我有一个包含、和一个“扩展” (如TabsAdapter),其中包含选项卡和. 这两个片段各有一个和(由我编写)。TaskObjects
ExpandableLists
MainFragmentActivity
java.util.List
PageViewer
FragmentPagerAdapter
AllTaskFragment
OverDueTaskFragment
ExpandableList
ExpandableListAdapter
现在,当用户单击任何一个孩子时,ExpandableLists
我需要如何通知其他片段ExpandableListAdapter
进行更新?我试图调用MainFragmentActivity
并从那里调用所有片段,但是片段ExpandableListAdapters
为“空”,但为什么呢?
更新:
我想我解决了这个问题,atm 正在使用:
如果任何 ExpandableListAdapter 发生变化,我会调用 updateTabs()
MainFragmentActivity
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;
}
它只是在每个片段中调用方法
public void updateFragment() {
adapter.notifyDataSetChanged();
}
这是一个好方法吗?或者这可能会引发一些问题?