我正在創建一個測驗應用程序,但我無法獲得前一個問題按後退按鈕。
我從sqlite數據庫得到的問題。使用SQLite數據庫的測驗應用程序(後退按鈕不工作)
請幫我編寫代碼。
我的代碼對於下一個按鈕正常工作,但不適用於後退按鈕。
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());
}
}
當我們點擊上一頁按鈕,我們應該得到與檢查答案的問題...在上面的代碼中,回覆被擦除。如果我想改變我的答案,我應該能夠修改我的選項,它應該會影響我的分數。 – JAY123
你應該實現一些邏輯來跟蹤答案並允許你修改它們。此代碼是如何更改後退按鈕的功能的示例 – iguarna
可以請你幫我用代碼的那一部分....... – JAY123