Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Java - Przycisk button dwufunkcyjny

michal12121212 03 Gru 2013 16:48 1038 6
  • #1 03 Gru 2013 16:48
    michal12121212
    Poziom 8  

    Witam

    Dopiero zaczynam przygodę z programowaniu. Mój problem polega na tym, że piszę aplikację do sterowania tunerem dreambox 500s przez sieć i wszystko działa, oprócz jednej funkcji, a mianowicie nie wiem jak zrobić, aby pod jednym buttonem o nazwie "power", były przypisane dwa zdarzenia tzn. jak się kliknie jeden raz to dekoder się włączy, a jak się znowu kliknie to dekoder się wyłączy i tak w kółko.

    Więc próbowałem robić to następujący sposób podam przykład na zmianę napisu na buttonie, ale wyświetla się tylko wyłącz i nie przestawia się na włącz.
    int status = 0;


    Kod: java
    Zaloguj się, aby zobaczyć kod


    Nie wiem dlaczego to nie działa. Więc proszę Państwa o pomoc.

    pozdrawiam, dziękuje za poświęcony czas

    0 6
  • #3 03 Gru 2013 18:45
    michal12121212
    Poziom 8  

    Witam

    Dziękuje za zainteresowanie.
    Nie działa, czyli ciągle wyświetlany jest napis wyłącz.

    0
  • #5 03 Gru 2013 19:47
    michal12121212
    Poziom 8  

    Zmienna jest zdefiniowana przed instrukcją if tylko wcześniej jej nie skopiowałem wygląda to tak:
    <syntax:java>int status = 0;
    if (status == 0){
    bWyjscie.setText("Włącz");
    status = 1;
    }
    else if (status ==1){
    bWyjscie.setText("Wyłącz");
    status = 0;
    }</syntax>

    Wygląda na to, że wykonywana jest instrukcja ta co status = 0, a dlaczego nie chce działać później instrukcja nr 2 przecież zmienna zmienia wartość na jeden i tak jest rzeczywiście, bo gdy wyświetlam wartość zmiennej po pierwszej instrukcji to jej wartość wynosi 1, więc powinna się wykonać instrukcja nr 2, ale tak nie jest. Próbowałem też zastosować jakoś pętle, ale nic z tego nie wyszło.

    Dodano po 2 [minuty]:

    michal12121212 napisał:
    Zmienna jest zdefiniowana przed instrukcją if tylko wcześniej jej nie skopiowałem wygląda to tak:
    Kod: java
    Zaloguj się, aby zobaczyć kod


    Wygląda na to, że wykonywana jest instrukcja ta co status = 0, a dlaczego nie chce działać później instrukcja nr 2 przecież zmienna zmienia wartość na jeden i tak jest rzeczywiście, bo gdy wyświetlam wartość zmiennej po pierwszej instrukcji to jej wartość wynosi 1, więc powinna się wykonać instrukcja nr 2, ale tak nie jest. Próbowałem też zastosować jakoś pętle, ale nic z tego nie wyszło.

    0
  • Pomocny post
    #6 03 Gru 2013 20:33
    Dżyszla
    Poziom 42  

    No moment, ale jak deklarujesz idefiniujesz zmienną tuż przed warunkiem, to skąd ma się brać inna wartość w momencie sprawdzania? Taka zmienna musi mieć znacznie szerszą widoczność, np. być polem klasy programu.

    0
  • #7 03 Gru 2013 20:53
    michal12121212
    Poziom 8  

    o kurcze działa, a ja się męczyłem 3 dni:) Bardzo dziękuje za pomoc, pozdrawiam, życzę wszystkiego dobrego

    0