如何将所有子片段类存储到父类的实例

我正在开发一个类似“主页提要”的功能,其中有一个Fragment主页面,在其布局中添加了其他几个片段,构成了内容页面。我希望主片段类能够实例化从某个父片段类继承的所有片段类。这样代码会更加动态,而不是<fragment>向我的 xml 文件添加一堆标签。


我有点坚持构建一个体面的架构。你会如何继续做这件事?


更新:这是我基本上想要做的,但不知道如何:


public class FeedFragment extends Fragment {

    @Override

    public View onCreateView(LayoutInflater inflater, ViewGroup container,

                         Bundle savedInstanceState) {

        View parentView = inflater.inflate(R.layout.fragment_home, container, false);


        // Get fragments and dynamically add them to

        // the FeedFragment's layout

        getEntryFragmentsList();

        // ...


        return parentView;

    }

}


public abstract class FeedEntryFragment extends Fragment {

   // Somehow add fragment to list of entry fragments

}


public class TestFragment extends FeedEntryFragment {

    // Already added to list of entry fragments

}


千巷猫影
浏览 133回答 2
2回答

慕村225694

我认为不可能通过继承来减少 xmls 的数量。我认为您应该尝试拆分您的 xml 配置并使用一些<merge>或<include>从部分构建完整的配置。如果您能更详细地描述您的问题,我可能会提供更多帮助。

30秒到达战场

您应该使用FrameLayout通过使用FragmentTransaction动态添加片段。您还可以使用带有选项卡或底部选项卡的ViewPager来显示多个片段。请查看我的动态支持库中的示例以获取完整代码。抽象片段DynamicFragment&nbsp;- 来自动态支持库的抽象基本片段。&nbsp;DynamicViewPagerFragment&nbsp;- 扩展 DynamicFragment 以实现 ViewPager 功能的抽象片段。实现HomeFragment&nbsp;- 示例片段扩展了 DynamicFragment 以实现主屏幕。&nbsp;SettingsFragment&nbsp;- 示例片段扩展 DynamicViewPagerFragment 以使用视图分页器内的多个片段实现设置功能。教程实现这更适合您的需要。TutorialActivity返回要在 ViewPager 中显示的片段列表。DynamicSimpleTutorial根据提供的参数生成一个DynamicTutorialFragment。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java