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

标签 android list fragment expandablelistview

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

所以这是我的问题:

我想在多个 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/

相关文章:

android - 如何重定向 logcat 输出?

c++ - 在 C++ 中使用模板类

android - 在 Fragment 上,onResume 之后发生的事情

java - 如何显示此自定义 View ?

android - 当前 Joda Time 在 Android 上的表现?

Android UX - 如何向用户显示列表项是可点击的?

list - Lisp 反转所有连续的元素序列

java - 如何在java中实现抽象和泛型?

android - SavedInstanceState 在 fragment 中始终为空

java - 开机后,运行DialogFragment时出错