Proszę o poprawienie wyświetlenia wartości strings w SecondActivity

0

Metoda buttonCheckAnswer w MainActivity

buttonCheckAnswer.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {


                boolean isAllAnswered = allAnswersChecked();
                Toast.makeText(getApplicationContext(), "isAllAnswered value is: " + isAllAnswered, Toast.LENGTH_SHORT).show();

                if (isAllAnswered)
                {
                    boolean isGoodAnswer = checkAnswers();
                    Toast.makeText(getApplicationContext(), "isGoodAnswer value is: " + isGoodAnswer, Toast.LENGTH_SHORT).show();

                    if (isGoodAnswer)
                        intent.putExtra("KEY_ANSWER", "Good Answer");
                    else
                        intent.putExtra("KEY_ANSWER", "Wrong Answer");
                }
                else
                    intent.putExtra("KEY_ANSWER", "You haven't checked all answers");

                startActivity(intent);
            }
        });

powinna przekazywać trzy teksty "Good answer", "Wrong asnwer" i "You haven't checked all answers", do AnswerActivity, które powinny wyświetlać się pojedynczo w zależności od tego które odpowiedzi zostały wybrane przez użytkownika.
Na tą chwilę wyświetla się za każdym razem sprawdzania odpowiedzi tylko tekst "You haven't checked all answers'. Innym razem po zmianie kodu wyświetla mi się tekst np. "Good answer" lub "Wrong asnwer'. Ale nigdy nie mogę napisać go tak, żeby używane były te trzy teksty.

Jak poprawić ten powyższy kod w MainActivity?

Tutaj jest AnswerActivity

public class AnswerActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_answer);
        TextView textViewDisplayResult = (TextView) findViewById(R.id.text_view_display_result);

        String answer = "";
        Bundle bundle = getIntent().getExtras();

        if (bundle != null) {
            if (bundle.containsKey("KEY_ANSWER"))
                answer = bundle.getString("KEY_ANSWER");
        }

        Log.d("SUCCESS", "answer: " + answer);

        textViewDisplayResult.setText(answer);


    }
}

i metody


    private boolean checkAnswers() {
        for (boolean radioAnswer : answer) {
            if (!radioAnswer) {
                return false;
            }
        }
        return true;
    }

    private boolean allAnswersChecked() {
        for (boolean radioAnswer : isAnswered) {
            if (!radioAnswer) {
                return false;
            }
        }
        return true;
    }
}

**UAKTUALNIENIE!
**
Debugging wykrył błąd Can not find variable 'isGoodAnswer'. Jak dodać tą zmienną do powyższego kodu w MainActivity?

0

Dwa razy dałeś kod z AnswerActivity zdaje się. W każdym razie na podstawie tego kodu, który przedstawiłeś nie da się odpowiedzieć na pytanie.

0

Zrób sobie kilka breakpointów i odpal debuggera. Przeczytaj wartości zmiennych w kolejnych breakpointach. Profit.

0

Ok, teraz dałeś kod MainActivity, ale nadal nie znamy metod: allAnswersChecked() i checkAnswers() na podstawie których działają te instrukcje warunkowe, więc Sorry Batory.

1 użytkowników online, w tym zalogowanych: 0, gości: 1