• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Bład w wyświetlaniu tekstu w intencji.

Object Storage Arubacloud
0 głosów
179 wizyt
pytanie zadane 6 maja 2017 w Java przez Kubs Mądrala (5,190 p.)
edycja 7 maja 2017 przez Kubs

Witajcie,

w tym kodzie mam trzy opcje wyświetlania tekstu po naciśnięciu `radiobuttonów` - "Nie zaznaczyłeś wszystkich odpowiedzi" , "Dobre odpowiedzi" , "Blędne odpowiedzi".

buttonCheckAnswer.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (!allAnswersChecked())
                    intent.putExtra("KEY_ALL_CHECKED", R.string.text_not_checked);

                else if (checkAnswers())
                    intent.putExtra("KEY_ANSWER", R.string.Good_answer);

                else
                    intent.putExtra("KEY_ANSWER", R.string.Wrong_answer);

                startActivity(intent);

            }
        });

i mam wyświetlane je w `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);


        textViewDisplayResult.setText(getIntent().getExtras().getString("KEY_ALL_CHECKED"));
        textViewDisplayResult.setText(getIntent().getBooleanExtra("KEY_ANSWER", false)?getString(R.string.Good_answer):getString(R.string.Wrong_answer));

    }
}

Problem polega na tym, że cokolwiek i ilekolwiek wycisnę `radioButtonow` otrzymuje tę sama odpowiedź "Błędne odpowiedzi". Nie wiem dlaczego..

 

UZUPEŁNIENIE KODU

 private static int NUMBER_OF_QUESTIONS = 3;
    static boolean[] answer = new boolean[NUMBER_OF_QUESTIONS];
    static boolean[] checked = new boolean[NUMBER_OF_QUESTIONS];
    static boolean[] isAnswered = new boolean[NUMBER_OF_QUESTIONS];


 public static void checkSelected() {
        for (boolean radioChecked : checked) {
            if (radioChecked) {
                buttonCheckAnswer.setVisibility(View.VISIBLE);
                break;
            }
        }
    }


    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;
    }
}

 

1 odpowiedź

0 głosów
odpowiedź 6 maja 2017 przez Wiciorny Ekspert (269,790 p.)

Ciężko mi przeanalizować kod tak na szybko. Dwie rzeczy mogę mieć na uwadzę, jako parametr za każdym razem podajesz nowy obiekt, możę traktowany jest jako "pusta instancja"

Dwa. Czym jest u CIebie 

savedInstanceState

?

komentarz 7 maja 2017 przez Kubs Mądrala (5,190 p.)
edycja 7 maja 2017 przez Kubs
Witaj,

dziekuje za zainteresowanie. Nie jestem jeszcze biegly w programowaniu i jego terminologii. Napisz prosze co jeszczez z kodu  moge Ci podeslac zebys mial lepszy obraz sytuacji
komentarz 7 maja 2017 przez Wiciorny Ekspert (269,790 p.)
Siema, bede pod wieczór dopiero w domu- a pobawie się kodem, nawet jeśli problem juz rozwiązany. Może zawsze coś doradze, przedstawie inny sposób etc.

Chodzi mi o sam fakt savedInstanceState - jeśli to nie twoj obiekt, tylko wbudowany to jego znaczeniem jest "Zapisany status instancji, czyli utworzenia obiektu" - co wskazuje na to, że obiekt " button" pozostawiiony po nim status z automatycznie jest zapisywany
komentarz 7 maja 2017 przez Kubs Mądrala (5,190 p.)

Dodałem dla Ciebie więcej informacji w poście powyżej. Będę czekał na Ciebie wieczorem. Szczerze Ci powiem, że ta druga część Twojego postu powyżej to najbardziej skomplikowane zdanie które w życiu słyszałem :) Poczytam trochę do wieczora o savedInstanceState żebym służył Ci odpowiednimi informacjami.

Pozdrawiam.

1
komentarz 8 maja 2017 przez Kubs Mądrala (5,190 p.)
Cześć, uda Ci się zerknąć na kod dzisiaj? Pozdrawiam.

Podobne pytania

0 głosów
0 odpowiedzi 188 wizyt
0 głosów
0 odpowiedzi 227 wizyt
pytanie zadane 12 stycznia 2019 w Java przez Hardwell Dyskutant (8,980 p.)
0 głosów
2 odpowiedzi 937 wizyt
pytanie zadane 3 listopada 2018 w Java przez PiotrSQ Nowicjusz (210 p.)

92,568 zapytań

141,420 odpowiedzi

319,622 komentarzy

61,954 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...