您好我正在尝试为Android创建应用,为了开发它,我需要浏览不同的页面和问题。为此,我已经定义了一个带有一些radiobutton的radiogroup。然而,当用户转到下一个或上一个问题时,这些单选按钮保持不变(它仅改变文本而不改变所选择的答案,对于每个答案始终是所选答案)。出于这个原因,我认为我需要在进入下一个问题时创建新的RadioButton,但如果我转到上一个问题则保存状态。
如果您可以提供帮助,这是我的代码的一部分 XML:
<RadioGroup
android:id="@+id/respuestas3RG"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_below="@id/imagenenunciado3"
android:orientation="vertical">
<RadioButton
android:id="@+id/respuesta3A"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="A. RespuestaA"/>
<RadioButton
android:id="@+id/respuesta3B"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="B. RespuestaB"/>
<RadioButton
android:id="@+id/respuesta3C"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="C. RespuestaC"/>
<RadioButton
android:id="@+id/respuesta3D"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="D. RespuestaD"/>
</RadioGroup>
爪哇:
bNext.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
posicion = posicion +1;
questions.Next();
currentQuestion();
}
我不知道最好的选择是在开始时创建所有的radioButtons还是在用户完成下一个问题时生成它们。 谢谢
答案 0 :(得分:0)
您不需要重新创建它,在清除支票之前保存状态(答案) setChecked(false);
答案 1 :(得分:0)
您应该考虑为每个页面使用不同的活动。我更喜欢单一活动的唯一原因是某种问题游戏。
如果您希望它位于同一个活动中:
您还可以使用LayouInflater将相同的xml扩展到多个视图。每个单独的页面。这样,您的页面状态保持不变,因为它存储在相关的View中,而不是存储在Activity中。来回改变是对
的简单调用的setContentView(yourViewArray [页]);
你可以把所有有效的东西放在最后。
但首先,您应该检查是否确实要将所有页面放入同一个活动中。