为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

千巷猫影 2021-10-17 13:16:46
我正在开发一个类似“主页提要”的功能,其中有一个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}
查看完整描述

2 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

我认为不可能通过继承来减少 xmls 的数量。我认为您应该尝试拆分您的 xml 配置并使用一些<merge><include>从部分构建完整的配置。

如果您能更详细地描述您的问题,我可能会提供更多帮助。


查看完整回答
反对 回复 2021-10-17
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

您应该使用FrameLayout通过使用FragmentTransaction动态添加片段。

您还可以使用带有选项卡或底部选项卡的ViewPager来显示多个片段。请查看我的动态支持库中的示例以获取完整代码。


抽象片段
DynamicFragment - 来自动态支持库的抽象基本片段。 DynamicViewPagerFragment - 扩展 DynamicFragment 以实现 ViewPager 功能的抽象片段。

实现
HomeFragment - 示例片段扩展了 DynamicFragment 以实现主屏幕。 SettingsFragment - 示例片段扩展 DynamicViewPagerFragment 以使用视图分页器内的多个片段实现设置功能。

教程实现
这更适合您的需要。TutorialActivity返回要在 ViewPager 中显示的片段列表。

DynamicSimpleTutorial根据提供的参数生成一个DynamicTutorialFragment。


查看完整回答
反对 回复 2021-10-17
  • 2 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信