0

对于一个学校项目,需要构建一个具有多种问题类型的 android 测验应用程序。这些问题类型是:多项选择、文本框、单选按钮和一个小游戏,您需要在可拖动的网格视图中以正确的顺序对图像进行排序。

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

我已经在互联网上搜索了它,我找到了以下选项,但我不知道在我的情况下什么是最好的。我还想让应用程序与 android 版本 2.3.3 兼容。一些例子对我也很有帮助!!

  • (适配器)取景器
  • 改变内部布局的适配器
  • 主要活动的 setContentView()
  • 在另一个布局中包含一个布局并更改它
  • 使一些视图/布局可见和不可见。
  • 为每个问题创建一个新活动(如果没有其他选项)
4

2 回答 2

1

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

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

于 2014-03-07T15:25:36.067 回答
0

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

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

如果您使用支持库,以上所有内容都将适用于 2.3 及更高版本。我建议查看 viewPager 上的一些教程,它们使用起来相当简单。

于 2014-03-07T14:58:00.580 回答