3

在我的测验应用程序有3个测验模式: 多项选择,单选和填空的文本。Android - 最好的方式来存储多个布局变种

直到现在我实现了多种选择模式的布局,我使用复选框下面

enter image description here

这里。对于单一选择,我将使用单选按钮和填充空白文本文本字段。 我在相对布局内的一个额外的线性布局中打包复选框。 这意味着我只需要改变这种线性布局。

我应该在我的布局文件中为3种模式创建3个内部线性布局(并且默认情况下使它们不可见)?或者有更好的方法来处理这个问题。

+0

我会用碎片,装入取决于你所需要使用的布局正确的片段,所以你也可以有一个控制器的回答用户给予 –

+0

@LucaNicoletti但是,他们会用布局太。我相信OP会询问什么是定义这些布局的最佳方式 – Shaishav

+0

相对布局,总是最好的 –

回答

1

我相信你应该有一个测验画面布局的单一布局文件,然后把选项部分的布局,最好的办法是定义一个包含唯一的选择要素,每题类型有点像独立的布局文件:

<LinearLayout> 
    <Checkbox/> 
    <Checkbox/> 
    <Checkbox/> 
    <Checkbox/> 
    <Checkbox/> 
</LinearLayout> // Similarly for other types 

然后,通过addView()将它们添加到您的父母<RelativeLayout.../>的测验布局中。通过这种方式,您的测验布局将与您的选项布局中的更改分开,并且还可以适应稍后添加更多问题类型(如果需要)。

+0

谢谢,但是我如何在测验布局中为这些测验模式布局放置一个占位符? –

+0

有多种方式可以通过编程方式添加布局,例如在另一个答案中提到的@ jt-gilkeson(使用'ViewStubs')。 – Shaishav