###前提・実現したいこと
大変恐縮ですが、下記についてご教示頂きたく思います。
【目的】
出題の順番がランダムで出てくるクイズに対して、ラジオボタンを用いて三択形式で回答の選択肢を表示する。
この時、出題に対する回答の選択肢も毎回順番をランダムにしたい。
選択肢のラジオボタンの1つを選択すると次の問題に進むとする。
この動きを3回繰り返す。
何卒宜しくお願い致します。
###発生している問題・エラーメッセージ
①
出題についてはランダムで表示する事は出来たのですが、
回答の選択肢をランダムでラジオボタンに表示する方法がわからないといった現状です。
②
また、回答の選択肢のラジオボタンを選択した段階で、次のクイズに進むやり方がわかりません。
###該当のソースコード
java
1 2 3import android.os.Bundle; 4import android.support.v7.app.AppCompatActivity; 5import android.view.View; 6import android.widget.RadioButton; 7 8import java.util.Arrays; 9import java.util.Collections; 10import java.util.List; 11 12public class MainActivity extends AppCompatActivity { 13 14 //問題内容の定義 15 String[] QUESTION = {"日本", "本", "机"}; 16 17 String[][] ANSWRE = { 18 {"Japan", "Japon", "Jpan"}, 19 {"book", "buuk", "buok"}, 20 {"desk", "desc", "desuk"}, 21 }; 22 23 @Override 24 protected void onCreate(Bundle savedInstanceState) { 25 super.onCreate(savedInstanceState); 26 setContentView(R.layout.activity_main); 27 28 //ラジオボタン 29 RadioButton[][] radio = new RadioButton[ANSWRE.length][ANSWRE[0].length]; 30 //ラジオボタン設定 31 for(int n = 0; n < ANSWRE.length; n++) { 32 for (int m = 0; m < ANSWRE[n].length; m++) { 33 radio[n][m] = new RadioButton(this); 34 radio[n][m].setText(ANSWRE[n][m]); 35 //idの設定とかもここで 36 radio[n][m].setId(m); 37 38 39 View.OnClickListener event = null; 40 radio[n][m].setOnClickListener(event); 41 event = new View.OnClickListener() { 42 @Override 43 public void onClick(View v) { 44 if (v.getId() == 0) { 45 //正解処理 46 } else { 47 //不正解処理 48 } 49 //次の問題へ 50 } 51 }; 52 } 53 } 54 55 //Toiクラス利用 56 Toi[] toi = new Toi[QUESTION.length]; 57 for(int n = 0; n < toi.length; n++) 58 toi[n] = new Toi(QUESTION[n], radio[n]); 59 60 List<Toi> list1 = Arrays.asList(toi.clone()); 61 Collections.shuffle(list1);//toiをシャッフルしたList型 list1 62 for(Toi t: list1){ 63 List<RadioButton> list2 = Arrays.asList(t.radio.clone()); 64 Collections.shuffle(list2);//シャッフル 65 t.radio = list2.toArray(new RadioButton[]{});//元に戻す 66 } 67 } 68 69 70------------------------------------------------ 71 72import android.widget.RadioButton; 73 74public class Toi { 75 76 String que; 77 RadioButton[] radio; 78 Toi(String que, RadioButton[] radio){ 79 this.que = que; 80 this.radio = radio; 81 } 82} 83 84
###試したこと
下記サイトを参考にしたのですが、理解が追いつかずうまく出来ませんでした。
http://jan.tokyo/java/2015/11/07/%EF%BC%92%E6%AC%A1%E5%85%83%E9%85%8D%E5%88%97%E3%81%AE%E8%A6%81%E7%B4%A0%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%95%E3%83%AB%E3%81%99%E3%82%8B/
###補足情報(言語/FW/ツール等のバージョンなど)
下記がXMLとなります。
【XML】
<?xml version="1.0" encoding="utf-8"?><RelativeLayout 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" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin">
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="下記の日本語を英語でいうと?" android:id="@+id/textView" android:layout_marginTop="68dp" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" />
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:id="@+id/textView2" android:layout_below="@+id/textView" android:layout_centerHorizontal="true" android:layout_marginTop="53dp" />
<RadioGroup android:id="@+id/radiogroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textView2"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="86dp">
<RadioButton android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
/>
<RadioButton android:id="@+id/radio2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
/>
<RadioButton android:id="@+id/radio3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
/>
</RadioGroup>
大変恐縮ですが、参考になるコードをお教えいただけないでしょうか。
何卒宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/05 06:21
2016/07/05 09:47
2016/07/05 10:52
2016/07/05 12:26
2016/07/05 15:15
2016/07/05 15:37
2016/07/05 17:02
2016/07/05 23:50
2016/07/06 00:28
2016/07/06 12:07