görüntüleniyorsa çöker Ben rastgele bir sınav uygulaması oluşturmaya çalışıyorum, ama sonunda çözmek mümkün değildi belirli bir sorunla karşı karşıyayım 2 gün.Android için düğmeler uygulaması ile rastgele bir sınav oluşturma, ancak ilk sorular ilk
Tüm sorularım ve seçenekleri 2 farklı Dizge dizisinin içinde var. sınavın ilerleme belirleyen bir int denilen bayrak
int flag=0;
String allQuestions[]={"A","B","C","D","E","F","G","H","I","J"};
String allOptions[]={/*/Primeras opciones /*/"A","I","O",
/*/Segundas opciones/*/"E","O","I",
/*/Terceras opciones/*/"A","I","U",
/*/Cuartas opciones/*/"O","E","U",
*/Quintas opciones/*/"O","U","A",
/*/Sextas opciones/*/"I","U","E",
/*/Septimas opciones/*/"E","I","E"
/*/Octavas opciones/*/"A","I","U",
/*/Novenas opciones/*/"E","U","O",
/*/Decimas opciones/*/"A","O","U"};
Bu şimdiye rasgele sayı seçmek nasıl:
ArrayList<Integer> number = new ArrayList<Integer>();
for (int i = 1; i <= 10; ++i) number.add(i);
Collections.shuffle(number);
benim düğmeleri bağlantılı ve bilgi yarışması etkinliği oluşturulduktan sonra kendi metin değişikliği yapmak var .
question=(TextView)findViewById(R.id.QuizCharacter);
answerA=(Button)findViewById(R.id.answerA);
answerB=(Button)findViewById(R.id.answerB);
answerC=(Button)findViewById(R.id.answerC);
answerD=(Button)findViewById(R.id.answerD);
answerE=(Button)findViewById(R.id.answerE);
answerF=(Button)findViewById(R.id.answerF);
question.setText(number.get(flag)); // <------ having problems here?
answerA.setText(allOptions[0]);
answerB.setText(allOptions[1]);
answerC.setText(allOptions[2]);
answerD.setText(allOptions[3]);
answerE.setText(allOptions[4]);
answerF.setText(allOptions[5]);
Şimdi rasgeleleştirici çalışır sorundur oluşturulan rasgele sayı, daha sonra uygulama çöker ilk soru A ise o.
question.setText için sorunlu satır olduğunu düşündüğüm şeyi değiştirmeyi denedim (allQuestions [number.get (0)]);
Ve rastgele bir şansa sahip olmak yerine, her seferinde çöküyor.
Neden oluyor ve nasıl düzeltebilirim?
DÜZENLEME:
onCreate yöntemi:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_quiz1);
correct = 0;
flag=0;
ArrayList<Integer> number = new ArrayList<Integer>();
for (int i = 0; i < 10; ++i) number.add(i);
Collections.shuffle(number);
String questionCounter = "Question number (flag+1): " + (flag + 1);//+ "\nnumber.get(flag)="+ number.get(flag);
TextView questionNumber;
questionNumber = (TextView) findViewById(R.id.questionNumber);
questionNumber.setText(questionCounter);
question.setText(allQuestions[number.get(0)]);
answerA=(Button)findViewById(R.id.answerA);
answerB=(Button)findViewById(R.id.answerB);
answerC=(Button)findViewById(R.id.answerC);
answerD=(Button)findViewById(R.id.answerD);
answerE=(Button)findViewById(R.id.answerE);
answerF=(Button)findViewById(R.id.answerF);
question.setText(allQuestions[number.get(flag)]);
answerA.setText(allOptions[0]);
answerB.setText(allOptions[1]);
answerC.setText(allOptions[2]);
answerD.setText(allOptions[3]);
answerE.setText(allOptions[4]);
answerF.setText(allOptions[5]);
}
Düzenleme 2: cevap için Shadab Ansari
teşekkürler. Değişken soruyu başlatmayı unuttum.
Lütfen kazayı içeren logcat çıktısını gönderin. –