2014-03-07 30 views
0

对于学校项目,需要构建一个包含多个问题类型的android测验应用程序。这些问题类型是:多选,文本框,单选按钮和一个小游戏,您需要在可拖动的GridView中以正确的顺序排列图像。在android测验中改变不同类型的最佳方式是什么?

我认为使用多个活动是不需要的,如果我首先检查问题的类型是什么,我可以在多个xml布局文件之间切换这些问题类型的整体布局。在stackoverflow大多数其他帖子只与一个问题类型的测验有关,没有minigames之间的问题,所以我想知道什么是最好的方法是在这些不同的问题类型和布局之间切换。至少我知道我需要一个开关/外壳来检查不同的问题类型(对于我的原型位于一个数组中),并切换到正确的类型,如果你按下位于答案下的“Next question”按钮(在gridview下小游戏的案例)。

我已经在互联网上搜索它,我发现了以下选项,但我不知道什么是最好的在我的情况。我也想让这款应用与android 2.3.3版本兼容。一些例子也可以帮助我!

  • (适配器)Viewflipper
  • 发生改变的内布局
  • 主要活动
  • 包含在另一布局的布局的的setContentView(),并改变它
  • 使一些视图/布局的适配器可见和不可见。
  • 使每个问题的一个新的活动(如果没有其他的选项)

回答

0

这取决于你想如何构建测验都应该问题混合在一起?他们都是单独的问题。

如果它们是分开的,最简单的方法可能会实现一个视图寻呼机。使用视图寻呼机,它将为每个页面创建一个新的片段。从这里你有两个选项,你可以为每个测验类型创建一个新的片段。或者,您可以创建一个测验片段并将参数传递给该片段以选择正确的布局。无论哪种方式,你可能会想要为每个测验类型的新布局。至于你的迷你游戏,你可以在两个测验视图之间将它作为视图页面中的页面。

如果您使用支持库,上述所有功能都可以在2.3及更高版本上运行。我建议检查viewPager上的一些教程,它们相当简单易用。

+0

这是只有一个测验与多个问题/答案和gridview迷你游戏。所有不同提到的问题类型和迷你游戏在一次测验中混合在一起。我将尝试Viewpager选项。 –

0

你可以用ViewFlipper来做到这一点。在ViewFlipper XML中,只列出每个问题类型的每个布局,并让用户滚动浏览器以获得他们想要的类型。您可以通过设置一个OnTouchListener并在滚动时调用showNext()来做到这一点。

为每个视图设置正确的数据完全取决于您;您只需根据他们所在的视图来匹配正确的数据即可正确填充它。这就是它:)

相关问题