2015-10-09 52 views
-2
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) { 
       //Below is the code, i wrote for previous button 
        but it is not working please help me. 
        if(qid<5) 
      { 
       currentQ=quesList.get(qid); 
       setQuestionView(); 
       qid--; 
      } 
       } 
      }); 
     } 
     @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()); 

     } 



    } 

我想制作的是回到我的测验应用程序按钮,这些问题都来自数据库。我想按钮转到前面的问题不搞乱up.I是新到Android任何一个可以帮助我解决这个问题..如何在测验应用程序中创建后退按钮?

+1

有什么具体的规划问题? – laalto

+0

我的问题是,我要到前面的问题时,按下后退按钮它不能正常工作 –

+0

也许你应该之前currentQ = quesList.get(QID)调用qid-- ;? – Nanoc

回答

0

您需要减量您之前计数器加载前面的问题:

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 { 
       // you're at the first question => no previous one 
      } 
     } 
}); 
-1

这应该工作:

//if you want to disable the back button on the first question 
    if(qid==0) 
     back.setEnabled(false); 
    else 
     back.setEnabled(true); 

    back.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if(qid!=0){ 
        qid--; 
        currentQ=quesList.get(qid); 
        setQuestionView(); 
        grp.clearCheck(); 
       } 
      } 
     }); 
+0

我的问题是后退按钮无法正常工作。它是越来越混乱。当我按下后退按钮它要下一个问题,然后再如果我按当时它是将前面的问题。请帮我 –

相关问题