gpt4 book ai didi

java - 如何在制作测验应用程序时点击提交按钮后锁定一个响应

转载 作者:行者123 更新时间:2023-11-29 04:41:02 24 4
gpt4 key购买 nike

我正在制作一个测验应用程序,我在其中创建了 2 个按钮,一个用于提交,另一个用于转到下一个问题

我想以这样一种方式对其进行编码,即如果我点击提交按钮,响应将被记录下来并且之后不会改变:

我的 XML 代码:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.vidit.project3.question1">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/q1"
android:textAlignment="center"
android:layout_marginTop="10dp"
android:layout_centerHorizontal="true"
android:textSize="20dp"
android:id="@+id/tv"
/>

<RadioGroup
android:layout_marginTop="20dp"
android:layout_below="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginLeft="100dp"
android:orientation="vertical"
android:id="@+id/rg">

<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/a1" />

<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/a2" />

<RadioButton
android:id="@+id/correct"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/a3" />

<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/a4"
android:id="@+id/last" />



</RadioGroup>


<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_below="@+id/rg"
android:id="@+id/submit"
android:text="SUBMIT"
android:layout_marginTop="20dp"
android:onClick="submit1"
/>


<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/submit"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:text="NEXT"
android:onClick="toQuestion2"/>


</RelativeLayout>

</ScrollView>

Java 代码:

package com.example.vidit.project3;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.RadioButton;
import android.widget.Toast;


public class question1 extends AppCompatActivity {



@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_question1);
}

public void submit1(View v)
{


RadioButton rb= (RadioButton) findViewById(R.id.correct);
if(rb.isChecked())
{
Toast toast = Toast.makeText(getApplicationContext(),"Whopiee! Correct Answer",Toast.LENGTH_LONG);
toast.show();
}
else
{
Toast toast = Toast.makeText(getApplicationContext(),"Arghh! Incorrect Answer",Toast.LENGTH_LONG);
toast.show();
}

}

public void toQuestion2(View v)
{
Intent intent = new Intent(this,question2.class);
startActivity(intent);
}





}

最佳答案

您可以通过将答案的响应存储在 map 中来实现这一点,如果问题存在,则需要在 map 中进行检查,然后禁用选项,否则打开选项。

Map<Question,Response> quizResponse = new HashMap();

现在将您所有的问题一一添加到这张 map 中并检查

if(quizResponse.contains(question))
{ radioGroup.getChildAt(i).setEnabled(false); // Disable the button

}
else
{
// show the question
quizResponse.put(question, response); // this response can be blank and update once you got user response

}

关于java - 如何在制作测验应用程序时点击提交按钮后锁定一个响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39188560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com