JavascriptProva

mercoledì 20 luglio 2016

Progetto Kouros: interfacce a un bottone e a due bottoni.

Ho studiato lo schema a un solo bottone:
  button.setOnClickListener(new View.OnClickListener() {
   
   @Override
   public void onClick(View v) {
    if(mService.AlarmOn()){
     mService.StopTime();
     ((Button)v).setText("ATTIVA");
     
    }
    else{
     mService.StartTime();
     ((Button)v).setText("DISATTIVA");
     
    }
    
   }
  });
In questo modo, se Alarm è On la pressione del pulsante disattiva e vi compare la scritta ATTIVA; mentre se Alarm è Off la pressione del pulsante attiva l'alarm e vi compare la scritta DISATTIVA:

Adesso realizzo uno schema a due bottoni.
Eccolo:
  bttStart.setOnClickListener(new View.OnClickListener() {
   
   @Override
   public void onClick(View v) {
    if(!mService.AlarmOn()){
     mService.StartTime();
     ((Button)v).setEnabled(false);
     bttStop.setEnabled(true);
    }
    
   }
  });
  
  bttStop.setOnClickListener(new View.OnClickListener() {
   
   @Override
   public void onClick(View v) {
    if(mService.AlarmOn()){
     mService.StopTime();
     ((Button)v).setEnabled(false);
     bttStart.setEnabled(true);
    }
    
   }
  });
ponendo nell'XML questo:
        <Button
            android:id="@+id/bttStart"
            android:layout_width="120dp"
            android:layout_height="50dp"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="20dp"
            android:background="@drawable/buttonshape"
            android:text="ATTIVA" />
        
        <Button 
            android:id="@+id/bttStop"
            android:layout_width="120dp"
            android:layout_height="50dp"
            android:layout_alignParentTop="true"
            android:layout_alignParentRight="true"
            android:layout_marginRight="10dp"
            android:layout_marginTop="20dp"
            android:background="@drawable/buttonshape"
            android:enabled="false"
            android:text="DISATTIVA" /> 
...che è una stronzata!
Quando chiudo l'attività con un AlarmOn vero, poi la riapro e trovo bttStop disabilitato come se AlarmOn fosse falso, mentre bttStart è abilitato quando dovrebbe essere disabilitato.
Se io faccio disabilitare bttStart alla sua pressione e do bttStop come disabilitato all'apertura, non faccio seguire l'abilitazione del bottone al reale status di Alarm.
Ci tornerò perché mi si sono aperti altri campi di studio in correlazione a questo...

Nessun commento:

Posta un commento