Android:动态替换布局视图

Android:动态替换布局视图,android,android-fragments,Android,Android Fragments,在我的应用程序中,我希望用户填写一个大表单(5-10个字段)。并非所有字段都是编辑文本,有些是微调器、单选按钮等 因此,不要将它们全部放在一个布局中(用户可能会离开屏幕,看到这么多问题)。我想把它作为一种对话/提问式的东西 在提交每个答案时,最终会显示一个新问题 我最好更改同一活动的ContentView,而不是为每个问题设置单独的活动 解决方案包括: 1。根据要询问的问题使视图的可见性可见/消失 2。更改ContentView和all onCreate()。 当我必须更改ContentView

在我的应用程序中,我希望用户填写一个大表单(5-10个字段)。并非所有字段都是编辑文本,有些是微调器、单选按钮等

因此,不要将它们全部放在一个布局中(用户可能会离开屏幕,看到这么多问题)。我想把它作为一种对话/提问式的东西

在提交每个答案时,最终会显示一个新问题

我最好更改同一活动的ContentView,而不是为每个问题设置单独的活动

解决方案包括:

1。根据要询问的问题使视图的可见性可见/消失

2。更改ContentView和all onCreate()。

当我必须更改ContentView或Visibility 10次时,效率低下

我应该在布局中使用片段并用新片段替换它吗

即使这样,我最终也有10个片段类和10个布局,每个布局1个片段类

有没有其他方法来实现这一点。现在我正在使用片段来完成它


谢谢

我相信,
片段
将是这里的最佳选择,因为无论采用哪种方式(即动态或创建布局文件),您都必须编写10次

所以最好是片段,因为每个布局都将动态地替换为以前的布局


但是你也必须考虑一种情况,即,如果将来你必须在你的表单中添加新的问题,那么你必须在代码中做很多修改,否则,这是最好的使用片段的地方。

我有类似的情况,用户必须填写一些请求,有一个状态和导航窗格在整个应用程序中保持不变,因此每次启动新活动都没有意义。因此,我制作了一个主布局,其中有三个线性布局,顶部和底部用于导航/状态,中间用于显示问题

我创建了不同的布局,并根据需要对它们进行充气/放气,因为我只有几(3)个布局。如果布局数量增加,则跟踪和充气/放气布局的方法可能会变得复杂

如果您有一个连续的流程,那么添加和删除布局/问题相当容易。这种方法的一个缺点是backback,当您停留在一个活动中时,您必须自己实现逻辑,backpress将退出该活动。这种方法也有一些优点,因为你在问题中收集的所有数据都是现成的,如果你的下一个问题是基于以前的答案,那么它会减少大量的工作,因为你需要在意图中传递它们


但是,我对
片段没有太多的经验,因为我选择了这种方法,因为它比片段简单得多,而且实现我的需求所需的时间也更少。

如果我有其他问题,我只需要添加一个新的片段类和布局,对吗?我的意思是我不需要改变任何以前的代码,我只需要添加新的东西??