samedi 27 juin 2015

Enter both answers after every 2 questions are shown

How do I display every 2nd question together with the previous question without having to answer every 1st question? Means that user can only answer both questions when they are shown together. Also, how do I make such that user can only answer 2 questions when every 2 questions are shown? I'm not sure how to do it. Please help me. Thanks:)

@Override
    public void onClick(View view) 
    {
        if(view.getId()==R.id.enter){

            try{
                stopPlaying();
            }catch(Exception e){
            }
            questionNumber++; 


            String answerContent = answerTxt.getText().toString();
            if(firstQuestion == true){
                buttonCounter = 1;
                firstQuestion = false;
                replayBtn.setEnabled(true);
                chooseQuestion();
            }           
            else if(!answerContent.endsWith("?")){
                int enteredAnswer = Integer.parseInt(answerContent.substring(2));
                int exScore = getScore();
                if(enteredAnswer==ans[QnNum]){
                    buttonCounter = 1;
                    replayBtn.setEnabled(true);
                    scoreTxt.setText("Score: "+(exScore+1));
                    response.setImageResource(R.drawable.tick);
                    response.setVisibility(View.VISIBLE);
                }
                else{
                    setHighScore();
                    buttonCounter = 1;
                    replayBtn.setEnabled(true);
                    if (exScore==0){
                        scoreTxt.setText("Score: 0");
                    }
                    else {
                        scoreTxt.setText("Score: "+(exScore-1));
                    }
                    response.setImageResource(R.drawable.cross);
                    response.setVisibility(View.VISIBLE);
                }

                chooseQuestion();
            }
        }

        else if(view.getId()==R.id.imageButton1){

            if(buttonCounter==1)
            {
                replayBtn.setEnabled(false);
              Log.d("ins", "called");
            }
            buttonCounter=0;


            MediaPlayer qn = MediaPlayer.create(this, QnsList[QnNum]);

            pauseTimer = true;
            qn.start();
            qn.setOnCompletionListener(new OnCompletionListener() {

                @Override
                public void onCompletion(MediaPlayer qn) {
                    qn.stop();
                    qn.reset();
                    qn.release();
                    qn = null;
                    pauseTimer = false;
                }
            });


            if (leftTimeInMillisecondsGlobal == 0) {
                if (countDownTimer != null) {
                    countDownTimer.cancel();
                }
                setTimer(originalTimerTimeInMilliSeconds);
            } else {
                if (countDownTimer != null) {
                    countDownTimer.cancel();

                }
                setTimer(leftTimeInMillisecondsGlobal);
            }


            startTimer();

            try{
                stopPlaying();
            }catch(Exception e){
            }
            qn.start();
        }

        else if(view.getId()==R.id.clear){
            answerTxt.setText("= ?");
        }
        else {
            response.setVisibility(View.INVISIBLE);
            int enteredNum = Integer.parseInt(view.getTag().toString());
            if(answerTxt.getText().toString().endsWith("?"))
                answerTxt.setText("= "+enteredNum);
            else
                answerTxt.append(""+enteredNum);
        }
    }

    private void stopPlaying() {
        if (qn != null) {
            qn.stop();
            qn.release();
            qn = null;}
    }

    private void setRandomSequence() {
        arrayList = new LinkedList<Integer>();
        for(int s =0; s<arrayOfNumbers.length;s++)
         arrayList.add(s);

        Collections.shuffle(arrayList);
        System.out.println(arrayList);
        }

    private void setTimer(long timeLeft) {

        totalTimeCountInMilliseconds = timeLeft;

        timeBlinkInMilliseconds = 20 * 1000;
    }

    private void startTimer() {
        countDownTimer = new CountDownTimer(totalTimeCountInMilliseconds, 500) {

            @Override
            public void onTick(long leftTimeInMilliseconds) {
                long seconds = leftTimeInMilliseconds / 1000;

                if (pauseTimer == true) {
                    leftTimeInMillisecondsGlobal = leftTimeInMilliseconds;
                    countDownTimer.cancel();
                } else {

                    leftTimeInMillisecondsGlobal = leftTimeInMilliseconds;
                }

                if (leftTimeInMilliseconds < timeBlinkInMilliseconds) {
                    textViewShowTime.setTextAppearance(getApplicationContext(),
                            R.style.blinkText);


                    if (blink) {
                        textViewShowTime.setVisibility(View.VISIBLE);
                    } else {
                        textViewShowTime.setVisibility(View.INVISIBLE);
                    }


                    blink = !blink; 
                }


                textViewShowTime.setText(String.format("%02d", seconds / 60)
                        + ":" + String.format("%02d", seconds % 60));


            }


            @Override
            public void onFinish() {
                Log.i("check", "check if enter onFinish() method");
                setResults();
                saveScore();
                Log.i("check", "check if passes through");
            }




        }.start();}

    private int getScore(){
        String scoreStr = scoreTxt.getText().toString();
        return Integer.parseInt(scoreStr.substring(scoreStr.lastIndexOf(" ")+1));
    }

    private void chooseQuestion(){
        answerTxt.setText("= ?");
        QnNum = random.nextInt(QnsList.length);

    final int DELAY_MS = 1000;


        question.setText("Qn "+(questionNumber));

        pauseTimer = true;

        qn = MediaPlayer.create(this, QnsList[QnNum]);
        qn.setOnCompletionListener(new OnCompletionListener() {
        @Override
        public void onCompletion(MediaPlayer qn) {
            qn.stop();
            qn.reset();
            qn.release();
            qn = null;
            pauseTimer = false;
        }
    });

        if (leftTimeInMillisecondsGlobal == 0) {
            if (countDownTimer != null) {
                countDownTimer.cancel();
            }
            setTimer(originalTimerTimeInMilliSeconds);
        } else {
            if (countDownTimer != null) {
                countDownTimer.cancel();
            }
            setTimer(leftTimeInMillisecondsGlobal);
        }

        startTimer();

        qn.start();}

Aucun commentaire:

Enregistrer un commentaire