พอดีผมสร้างแอปข้อสอบ จาก android studio ทำแอปแบบทดสอบและทำระบบ random ข้อสอบ ด้วยครับ

พอดีผมสร้างแอปข้อสอบ จาก android studio ทำแอปแบบทดสอบและทำระบบ random ข้อสอบ ด้วยครับแต่พอลันแอปออกมาแล้ว
แอป random ข้อสอบออกมาข้อเดิม ผมอยากทำให้มันไม่ซ้ำข้อต้องทำยังไงครับ และถ้าข้อสอยหมดแล้วให้ส่งไปหน้าใหม่ครับต้องใส่โค้ดเพิ่มตรงใหนครับ

โค้ด

หน้า ScienceQuizActivity.class
package com.sayamphoo.quizss;

import android.content.DialogInterface;
import android.content.Intent;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import java.util.Random;

public class ScienceQuizActivity extends AppCompatActivity {

    Button button1, button2, button3, button4;
    TextView jos, scroll;

    private QuizScience mQuizScience = new QuizScience();


    private String mButton;
    private int mScroll = 0;
    private int mQuizScienceLenght = mQuizScience.mQuizScience.length;

    Random r;

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

        r = new Random();

        button1 = (Button) findViewById(R.id.button1);
        button2 = (Button) findViewById(R.id.button2);
        button3 = (Button) findViewById(R.id.button3);
        button4 = (Button) findViewById(R.id.button4);

        jos = (TextView) findViewById(R.id.jos);
        scroll = (TextView) findViewById(R.id.scroll);

        scroll.setText("8tcoo " + mScroll);
        updateQuizScience(r.nextInt(mQuizScienceLenght));


        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if(button1.getText() == mButton){
                    mScroll++;
                    scroll.setText("8tcoo " + mScroll);
                    updateQuizScience(r.nextInt(mQuizScienceLenght));

                }else {
                    gameover();
                }

            }
        });

        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if(button2.getText() == mButton){
                    mScroll++;
                    scroll.setText("8tcoo " + mScroll);
                    updateQuizScience(r.nextInt(mQuizScienceLenght));

                }else {
                    gameover();
                }

            }
        });

        button3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if(button3.getText() == mButton){
                    mScroll++;
                    scroll.setText("8tcoo " + mScroll);
                    updateQuizScience(r.nextInt(mQuizScienceLenght));

                }else {
                    gameover();
                }

            }
        });

        button4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if(button4.getText() == mButton){
                    mScroll++;
                    scroll.setText("8tcoo " + mScroll);
                    updateQuizScience(r.nextInt(mQuizScienceLenght));
                }else {
                    gameover();
                }
            }
        });

    }

    private void updateQuizScience(int num) {
        jos.setText(mQuizScience.gteQuizScience(num));
        button1.setText(mQuizScience.gteChoicea1(num));
        button2.setText(mQuizScience.gteChoicea2(num));
        button3.setText(mQuizScience.gteChoicea3(num));
        button4.setText(mQuizScience.gteChoicea4(num));

        mButton = mQuizScience.getCheap(num);

    }

    private void gameover() {

        AlertDialog.Builder alerDialogBuilder = new AlertDialog.Builder(ScienceQuizActivity.this);
        alerDialogBuilder
                .setMessage("จบเกม" + mScroll + "po")
                .setMessage("fal86")
                .setPositiveButton("new",
                        new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                                startActivity(new Intent(getApplicationContext(), ScienceQuizActivity.class));

                            }


                        })

                .setNegativeButton("new",
                        new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                                finish();
                            }


                        });
    }
}

หน้า QuizScience.class
package com.sayamphoo.quizss;
public class QuizScience {
    public String mQuizScience[] = {
            "เพลต เทโทนิค (Plate tectonic) คืออะไร?",
            "เทือกเขาแอนดิสอยูในทวีปใด",
            "พันเจีย (Pangea) แปลว่า",
            "แผ่นดินใหวมักเกิดในบริเวลใดมากที่สุด",
            "ข้อใดคือคลื่นแผ่นดินใหว",
    };
    public String mChoicea[][] = {
            {"เทคนิคการวัดเพลต", "เทติคธรณีภาค", "ทฤาฎีการเปลียนแปลงสัณฐานแผนธณีภาค", "ธรณวิทยา"},
            {"อเมริกา", "แอฟริกา", "อเมริกา", "ออสเตรเลีย"},
            {"แผ่รชนดินรวม", "แผ่นดินทั้งหมด", "แผ่นดินเชื่อมต่อกันเป็นผืนเดียว", "แผ่นดินแยก"},
            {"ในมหาสมุทร", "บนพื้นทวีป", "แนวเขตของการมุดตัว", "มเลทราย"},
            {"คลื่น P", "คลื่น S", "คลื่นพื้นผิว", "คลื่น V",}

    };
    private String mCheap[] = {"เทคนิคการวัดเพลต", "อเมริกา", "แผ่รชนดินรวม", "ในมหาสมุทร", "คลื่น P"};
    public String gteQuizScience(int a){
        String quizscience = mQuizScience[a];
        return quizscience;
    }
    public String gteChoicea1(int a){
        String choicea = mChoicea[a][0];
        return choicea;
    }
    public String gteChoicea2(int a){
        String choicea = mChoicea[a][1];
        return choicea;
    }

    public String gteChoicea3(int a){
        String choicea = mChoicea[a][2];
        return choicea;
    }

    public String gteChoicea4(int a){
        String choicea = mChoicea[a][3];
        return choicea;
    }
    public String getCheap(int a){
        String cheap = mCheap[a];
        return cheap;

    }

}

หน้า activity_science_quiz.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    tools:context="com.sayamphoo.quizss.ScienceQuizActivity">


    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="คะแนน"
            android:textColor="#000"
            android:textSize="20dp"
            android:layout_alignBaseline="@+id/scroll"
            android:layout_alignBottom="@+id/scroll"
            android:layout_alignRight="@+id/scroll"
            android:layout_alignEnd="@+id/scroll"
            android:layout_marginRight="23dp"
            android:layout_marginEnd="23dp" />

        <TextView
            android:id="@+id/scroll"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="164dp"
            android:layout_marginStart="164dp"
            android:layout_marginTop="17dp"
            android:text="0"
            android:textColor="#000"
            android:textSize="20dp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/jos"
            android:text="20"
            android:textSize="15dp"/>

        <Button
            android:id="@+id/button4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentStart="true"
            android:layout_alignTop="@+id/button2"
            android:layout_marginTop="49dp"
            android:text="Button" />

        <Button
            android:id="@+id/button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/button4"
            android:layout_alignParentEnd="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentStart="true"
            android:text="Button" />
        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/button3"
            android:layout_alignParentBottom="true"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_alignStart="@+id/button3"
            android:layout_marginBottom="113dp"
            android:text="Button" />
        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/button3"
            android:layout_alignParentEnd="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentStart="true"
            android:text="Button" />
    </RelativeLayout>
</LinearLayout>
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่