2016-08-28 3 views
1

私は2つのボタン、提出して、次の質問どのようにクイズのApp

に移動し、他の私は、そのような中で、それをコーディングしたいのための1つを作成したクイズアプリを作っていますを行う際に送信ボタンを打った後1つのレスポンスをロックします私は送信ボタンをヒットした場合の応答が記録されますし、それの後に変更されないような方法:

私の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); 
} 





} 
+0

をチェックあなたがこの反応を利用するときは...詳しく教えてください。 – Shaishav

+0

共有設定を試してみましたか? – onexf

答えて

1

これにより、すべてのラジオボタンが無効になります。それはあなたが欲しいものですか?

for (int i = 0; i < radioGroup.getChildCount(); i++)  
{ 
    radioGroup.getChildAt(i).setEnabled(false); 
} 
+0

その表示はラジオグループをシンボルで解決できず、赤で強調表示されます –

+0

@ViditShah findViewbyIdを実行してラジオグループへの参照を取得します –

2

あなたはそれ以外のオプションを開きオプションを無効にし、地図に答えの応答を格納することによって、これを達成し、質問がある場合は、マップをチェックインする必要がありますすることができます。

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

今...解決策はどのようにしてによって異なり、「それ*後に応答を記録しますと変更されません*」この地図内の1つのことで、あなたのすべての質問の1を追加し、

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 

} 
関連する問題