我正在开发一个类似“主页提要”的功能,其中有一个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>
从部分构建完整的配置。
如果您能更详细地描述您的问题,我可能会提供更多帮助。
30秒到达战场
TA贡献1828条经验 获得超6个赞
您应该使用FrameLayout通过使用FragmentTransaction动态添加片段。
您还可以使用带有选项卡或底部选项卡的ViewPager来显示多个片段。请查看我的动态支持库中的示例以获取完整代码。
抽象片段
DynamicFragment - 来自动态支持库的抽象基本片段。 DynamicViewPagerFragment - 扩展 DynamicFragment 以实现 ViewPager 功能的抽象片段。
实现
HomeFragment - 示例片段扩展了 DynamicFragment 以实现主屏幕。 SettingsFragment - 示例片段扩展 DynamicViewPagerFragment 以使用视图分页器内的多个片段实现设置功能。
教程实现
这更适合您的需要。TutorialActivity返回要在 ViewPager 中显示的片段列表。
DynamicSimpleTutorial根据提供的参数生成一个DynamicTutorialFragment。
添加回答
举报
0/150
提交
取消