Ich habe gerade angefangen, an der Android-App zu arbeiten und eine Quiz-App zu machen, bei der der Benutzer ein Quiz absolvieren muss, um Punkte zu erhalten. Aber ich bin nicht in der Lage, die setText
und setImage
für meine ResultActivity
zu aktualisieren. Wenn ich das Quiz auf QuizActivity
beende, aktualisiert die ResultActivity
nur die Punktzahl, aber aktualisiert nicht den Text und das Bild, das ich für den Bildschirm möchte.UI wird nicht automatisch aktualisiert, es ändert sich erst nach der Aktualisierung
Hier ist der Code und ich bin in der Lage zu setText
basierend auf der "Punktzahl", aber ich muss die Benutzeroberfläche aktualisieren, um die Änderungen zu sehen. Ich gebe die Punktzahl von einer anderen Aktivität und ändere den Text basierend auf der Punktzahl. Bitte helfen Sie mir, danke im Voraus.
//code for QuizActivity
private void updateQuestion(){
if(mQuestionNumber < mQuestionLibrary.getLength()){
mQuestionView.setText(mQuestionLibrary.getQuestion(mQuestionNumber));
mButtonChoice1.setText(mQuestionLibrary.getChoice(mQuestionNumber, 1));
mButtonChoice2.setText(mQuestionLibrary.getChoice(mQuestionNumber, 2));
mButtonChoice3.setText(mQuestionLibrary.getChoice(mQuestionNumber, 3));
mButtonChoice4.setText(mQuestionLibrary.getChoice(mQuestionNumber,4));
mAnswer = mQuestionLibrary.getCorrectAnswer(mQuestionNumber);
mQuestionNumber++;
}
else {
Intent intent = new Intent(QuizActivity.this, ResultActivity.class);
intent.putExtra("score", mScore);
// pass the current score to the second screen
startActivity(intent);
//The Following is the code for ResultActivity
Intent intent = getIntent();
int score = intent.getIntExtra("score", 0);
SharedPreferences mypref = getPreferences(MODE_PRIVATE);
int highscore = mypref.getInt("highscore", 0);
if (highscore < score) {
txtScore.setText("Your Score: " + score + " /10");
SharedPreferences.Editor editor = mypref.edit();
editor.putInt("highscore", score);
editor.commit();
}
else {
int score1 = score + highscore;
txtScore.setText(" Your score: " + score1 + " /10");
SharedPreferences.Editor editor1 = mypref.edit();
editor1.putInt("highscore", score1);
editor1.commit();
}
if (highscore == 0) {
image1.setVisibility(View.GONE);
txtScore.setVisibility(View.GONE);
resulttext.setText("INSTRUCTION \n" +
"\n" +
"1) CLICK on ‘hello!’\n" +
"\n" +
"2) VISIT hello\n" +
"\n" +
"3)EE" +
"\n" +
"4)EE!");
btnscan.setText("abc!");
}
else if (highscore == 1 & highscore < 2) {
resulttext.setText("Well Done!");
image1.setImageResource(R.drawable.bubble);
btnscan.setText("Let's bubble on");
}
else if (highscore >= 3) {
resulttext.setText("These are good practices to learn.\n" +
"\n" +
"Bloop bloop~");
image1.setImageResource(R.drawable.lightbulb);
btnscan.setText("Let’s keep swimming");
}
}
}
Sie sagen: > ich bin nicht in der Lage, die setText und setImage für meine ResultActivity zu aktualisieren. gut: 'setText' und' setImage' sind Methoden nicht anzeigen. Ich denke du meinst TextView und ImageView, aber welche du meinst. –
Hi @Ali Zeynali, ist die in ResultActivity.if (highscore == 0) {resulttext.settext ("xxx"); –