Как добавить больше случайных вопросов в этот тест с логотипом?

#java #android #arrays

#java #Android #массивы

Вопрос:

На этой неделе я создал приложение для викторины с логотипом, но проблема с этой викториной с логотипом в том, что в ней всего один вопрос. После ответа тест заканчивается. Я хотел бы знать, как добавить больше вопросов в этот тест и как отображать вопросы случайным образом. Я имею в виду, что после ответа на вопрос появляется еще одна случайная картинка. Я вроде как новичок в разработке Android, и мне все еще требуется помощь других разработчиков, и я считаю, что это лучшее место, где можно спросить. Заранее большое вам спасибо за помощь.

 public class MainActivity extends AppCompatActivity {
private int presCounter = 0;
private int maxPresCounter = 5;
private String[] keys = {"S", "A", "M", "P", "L"};
private String textAnswer = "SAMPL";
TextView textScreen, textQuestion, textTitle;
@Override
protected void onCreate....
    keys = shuffleArray(keys);
    for (String key : keys) {
        addView(((LinearLayout) findViewById(R.id.layoutParent)), key, ((EditText) findViewById(R.id.editText)));
    }
    maxPresCounter = 5;
}


private String[] shuffleArray(String[] ar) {
    Random rnd = new Random();
    for (int i = ar.length - 1; i > 0; i--) {
        int index = rnd.nextInt(i   1);
        String a = ar[index];
        ar[index] = ar[i];
        ar[i] = a;
    }
    return ar;
}


private void addView(LinearLayout viewParent, final String text, final EditText editText) {
    LinearLayout.LayoutParams linearLayoutParams = new LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.WRAP_CONTENT,
            LinearLayout.LayoutParams.WRAP_CONTENT
    );

    linearLayoutParams.rightMargin = 30;

    final TextView textView = new TextView(this);

    textView.setLayoutParams(linearLayoutParams);
    textView.setBackground(this.getResources().getDrawable(R.drawable.pix));

    textQuestion = (TextView) findViewById(R.id.textQuestion);
    textScreen = (TextView) findViewById(R.id.textScreen);
    textTitle = (TextView) findViewById(R.id.textTitle);
    textView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(presCounter < maxPresCounter) {
                if (presCounter == 0)
                    editText.setText("");
                    editText.setText(editText.getText().toString()   text);
                    presCounter  ;
                    if (presCounter == maxPresCounter)
                        doValidate();
            }
        }
    });

    viewParent.addView(textView);
}
private void doValidate() {
    presCounter = 0;
    EditText editText = findViewById(R.id.editText);
    LinearLayout linearLayout = findViewById(R.id.layoutParent);
    if(editText.getText().toString().equals(textAnswer)) {
     Toast.makeText(MainActivity.this, "Correct", Toast.LENGTH_SHORT).show();


        editText.setText("");
    } else {
        Toast.makeText(MainActivity.this, "Wrong", Toast.LENGTH_SHORT).show();
        editText.setText("");
    }
    keys = shuffleArray(keys);
    linearLayout.removeAllViews();
    for (String key : keys) {
        addView(linearLayout, key, editText);
    }
}
}
  

Комментарии:

1. Если вы хотите получать случайные вопросы, то в вашем приложении должно быть более 1 вопроса. Сохраняйте массив вопросов и публикуйте случайные вопросы. проверьте результат после того, как на вопрос будет дан ответ, и на основе результата вы можете либо сгенерировать следующий случайный вопрос, либо завершить работу приложения.

2. Спасибо за вашу помощь