mercredi 16 mai 2018

If statement in android to check firebase data now showing right [duplicate]

This question already has an answer here:

Code

public class TakingQuiz extends AppCompatActivity {

TextView que;
TextView sco;
Button opt1;
Button opt2;
Button opt3;
Button opt4;
String RecieversId;

Integer mScore = 0;
Integer mQuestionNumber = 1;
String question;
String option1;
String option2;
String option3;
String option4;
String answer;

FirebaseAuth mAuth;
FirebaseUser currentUser;
DatabaseReference mDatabaseReference;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.taking_quiz);

    que = (TextView) findViewById(R.id.txtQuestion);
    opt1 = (Button) findViewById(R.id.button1);
    opt2 = (Button) findViewById(R.id.button2);
    opt3 = (Button) findViewById(R.id.button3);
    opt4 = (Button) findViewById(R.id.button4);
    sco = (TextView) findViewById(R.id.score);
    sco.setText("Score : 0");
    RecieversId = getIntent().getStringExtra("Recievers_Id");

    mAuth = FirebaseAuth.getInstance();
    currentUser = mAuth.getCurrentUser();
    mDatabaseReference = FirebaseDatabase.getInstance().getReference();

    updateQuestion();

}

private void updateQuestion() {
    mDatabaseReference.child("Users").child(RecieversId).child("Quiz").child("Question"+mQuestionNumber).addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            question = dataSnapshot.child("Question").getValue().toString();
            answer = dataSnapshot.child("Answer").getValue().toString();
            option1 = dataSnapshot.child("Option1").getValue().toString();
            option2 = dataSnapshot.child("Option2").getValue().toString();
            option3 = dataSnapshot.child("Option3").getValue().toString();
            option4 = dataSnapshot.child("Option4").getValue().toString();
            que.setText(question);
            opt1.setText(option1);
            opt2.setText(option2);
            opt3.setText(option3);
            opt4.setText(option4);
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
        }
    });
    opt1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (option1 == answer) {
                opt1.setBackgroundColor(Color.GREEN);
                mScore++;
                sco.setText("Score : " + mScore);
            } else
                opt1.setBackgroundColor(Color.RED);
            sco.setText("Score : " + mScore);
        }
    });
    opt2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (option2 == answer) {
                opt2.setBackgroundColor(Color.GREEN);
                mScore++;
                sco.setText("Score : " + mScore);
            } else
                opt2.setBackgroundColor(Color.RED);
            sco.setText("Score : " + mScore);
        }
    });
    opt3.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (option3 == answer) {
                opt3.setBackgroundColor(Color.GREEN);
                mScore++;
                sco.setText("Score : " + mScore);
            } else
                opt3.setBackgroundColor(Color.RED);
            sco.setText("Score : " + mScore);
        }
    });
    opt4.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (option4 == answer) {
                opt4.setBackgroundColor(Color.GREEN);
                mScore++;
                sco.setText("Score : " + mScore);
            } else
                opt4.setBackgroundColor(Color.RED);
            sco.setText("Score : " + mScore);

        }
    });



  }
}

Trying to make a simple quiz using firebase database... but even if the answer == option its showing wrong and the score is not updating... can someone point out where i have gone wrong? i'm damn sure that the losing is correct... but some minute error somewhere... not able to figure out where and why its behaving so.... Database - https://ibb.co/n0RA3y

Aucun commentaire:

Enregistrer un commentaire