Ich erstelle eine Quiz-App, aber ich bin nicht in der Lage, vorherige Frage durch Drücken der Zurück-Taste zu erhalten.
Ich bekomme die Fragen von SQLite db.Quiz-App mit SQLite-Datenbank (Zurück-Schaltfläche funktioniert nicht)
Bitte helfen Sie mir mit dem Code.
Mein Code funktioniert gut für den nächsten Button, funktioniert aber nicht für den Zurück Button.
public class MainActivity extends AppCompatActivity {
List<Questions> quesList;
int score=0;
int qid=0;
Questions currentQ;
TextView tv;
RadioButton rb1,rb2,rb3,rb4;
ImageButton next,back;
Questions cur;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DbHelper db=new DbHelper(this);
final RadioGroup grp=(RadioGroup) findViewById(R.id.radiogroup1);
quesList=db.getAllQuestions();
if(quesList!= null && quesList.size() !=0) {
currentQ=quesList.get(qid);
}
tv=(TextView) findViewById(R.id.tv1);
rb1=(RadioButton) findViewById(R.id.radio1);
rb2=(RadioButton) findViewById(R.id.radio2);
rb3=(RadioButton) findViewById(R.id.radio3);
rb4=(RadioButton) findViewById(R.id.radio4);
next=(ImageButton) findViewById(R.id.forward);
back=(ImageButton) findViewById(R.id.backward);
setQuestionView();
//code for next button..
next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
RadioButton answer=(RadioButton) findViewById(grp.getCheckedRadioButtonId());
if(currentQ.getAnswer().equals(answer.getText()))
{
score++;
Log.d("score", "Your score" + score);
}
if(qid<5){
currentQ=quesList.get(qid);
setQuestionView();
qid++;
grp.clearCheck();
}else{
Intent intent = new Intent(MainActivity.this, ResultActivity.class);
Bundle b = new Bundle();
b.putInt("score", score); //Your score
intent.putExtras(b); //Put your score to your next Intent
startActivity(intent);
finish();
}
}
});
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(qid>0) {
qid--; // here you decrement
currentQ=quesList.get(qid); // here you load
setQuestionView();
grp.clearCheck();
} else {
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
private void setQuestionView()
{
tv.setText(currentQ.getQuestion());
rb1.setText(currentQ.getOption1());
rb2.setText(currentQ.getOption2());
rb3.setText(currentQ.getOption3());
rb4.setText(currentQ.getOption4());
}
}
, wenn wir auf i.Vj. Schaltfläche klicken , wir sollten die Frage mit überprüfter Antwort bekommen ... In dem obigen Code werden Antworten gelöscht.wenn ich meine Antwort ändern möchte, sollte ich in der Lage sein, meine Option zu ändern, und es sollte meine Punktzahl beeinflussen. – JAY123
sollten Sie eine Logik implementieren, die die Antworten verfolgt und Ihnen erlaubt, sie zu ändern. Dieser Code ist ein Beispiel dafür, wie man die Funktionalität der Zurück-Taste ändern kann – iguarna
können Sie mir bitte mit diesem Teil des Codes helfen ....... – JAY123