gpt4 book ai didi

android - 相同数据具有不同 expandableList 的多个 fragment

转载 作者:太空宇宙 更新时间:2023-11-03 11:18:09 24 4
gpt4 key购买 nike

这个问题可能很菜鸟,但我就是找不到正确的解决方案。

所以这是我的问题:

我想在多个 ExpandableLists(比如说 5 个)中显示数据(一个 java.util.List 和我的 TaskObjects)在自己的 fragment 中,以便用户能够在不同的列表之间滑动。目前我有一个 MainFragmentActivity,其中包含 java.util.ListPageViewer 和一个“扩展的”FragmentPagerAdapter(如 TabsAdapter),其中包含选项卡 AllTask​​FragmentOverDueTaskFragment。这两个 fragment 都有自己的 ExpandableListExpandableListAdapter(由我编写)。

现在,当用户点击任何 ExpandableLists 中的子项时,我如何通知其他 Fragments ExpandableListAdapter 进行更新?我尝试调用 MainFragmentActivity 并从那里调用所有 Fragments 但随后 fragment ExpandableListAdapters 为“null”,但为什么呢?

更新:

我想我解决了这个问题,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;
}

它只是在每个 fragment 中调用该方法

public void updateFragment() {
adapter.notifyDataSetChanged();
}

这是一个好方法吗?还是这会引发一些问题?

最佳答案

此类应用程序的关键是跟踪 ArrayAdapter。如果您调用 ArrayAdapter.notifyDataSetChanged(),它将通知其 View 进行更新。

关于android - 相同数据具有不同 expandableList 的多个 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13537127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com