2011-10-04 1 views
4

J'ai un petit problème et c'est que je travaille maintenant avec le bouton bascule et le premier bouton à bascule est pour l'indication jour ou nuit et le second bouton à bascule est pour l'indication de la lumière est allumée ou de. Ensuite, mon exigence est quand il est le jour, puis le second bouton à bascule ne devrait pas fonctionner, puis quand le deuxième bouton à bascule devrait fonctionner et cela devrait indiquer si les lumières sont allumées ou éteintes. Et mon code estPremier bouton à bascule n'a pas d'influence sur le second

final ToggleButton tb = (ToggleButton) findViewById(R.id.togglebutton); 
     tb.setOnClickListener(new OnClickListener() 
{ 
public void onClick(View v) 
{ 
Toast.makeText(getBaseContext(), 
"Button is "+tb.getText().toString(), 
Toast.LENGTH_LONG).show(); 
if(tb.getText().toString().equals("ON")) 
{ 
final ToggleButton tb1= (ToggleButton) findViewById(R.id.togglebutton1); 
tb1.setOnClickListener(new OnClickListener() 
{ 
public void onClick(View v) 
{ 
Toast.makeText(getBaseContext(), 
"Button is "+tb1.getText().toString(), 
Toast.LENGTH_LONG).show(); 
}}); 
} 
else 
{ 
Toast.makeText(screen4.this,"It is day" , Toast.LENGTH_LONG).show(); 
finish(); 
} 
         } 
     }); 

peut me aider à faire le deuxième bouton de ne pas fonctionner lorsque le premier bouton est éteint. Merci d'avance

Répondre

2

Cela a fonctionné pour moi:

<ToggleButton android:id="@+id/togglebutton" 
android:layout_width="150px" 
android:layout_height="50px" 
android:textOn="DAY" 
android:textOff="NIGHT" /> 
     <ToggleButton android:id="@+id/togglebuttontwo" 
android:layout_width="150px" 
android:layout_height="50px" 
android:textOn="ON" 
android:textOff="OFF" /> 

code:

 final ToggleButton tb = (ToggleButton) findViewById(R.id.togglebutton); 
    tb.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      Toast.makeText(getBaseContext(), 
        "Button is " + tb.getText().toString(), 
        Toast.LENGTH_LONG).show(); 
      ToggleButton tbtwo = (ToggleButton) findViewById(R.id.togglebuttontwo); 

      if(tb.getText().equals("DAY")) 
      { 
       tbtwo.setEnabled(false); 
      } 
      else 
       tbtwo.setEnabled(true); 
     } 
    }); 

enter image description here

+0

Salut Reno, comment avez-vous la belle "* lumière verte *" sur votre bouton bascule? Le mien est juste 1 bande. Et aussi, comment avez-vous eu le look brillant? – Sam

1

Essayez ceci.

final ToggleButton tb = (ToggleButton) findViewById(R.id.togglebutton); 
     tb.setOnClickListener(new OnClickListener() 
{ 
public void onClick(View v) 
{ 
Toast.makeText(getBaseContext(), 
"Button is "+tb.getText().toString(), 
Toast.LENGTH_LONG).show(); 
if(tb.getText().toString().equals("ON")) 
{ 
final ToggleButton tb1= (ToggleButton) findViewById(R.id.togglebutton1); 
tb1.setOnClickListener(new OnClickListener() 
{ 
public void onClick(View v) 
{ 
Toast.makeText(getBaseContext(), 
"Button is "+tb1.getText().toString(), 
Toast.LENGTH_LONG).show(); 
}}); 
} 
else 
{ 
Toast.makeText(screen4.this,"It is day" , Toast.LENGTH_LONG).show(); 
final ToggleButton tb1= (ToggleButton) findViewById(R.id.togglebutton1); 
tb1.setEnabled(false); 
finish(); 
} 
         } 
     }); 

votre code does't travail de la manière que vous voulez parce que, vous obtenez le refrence du togglebutton lorsque sa nuit et a fixé son onClickListener, mais vous le faites dans l'autre cas rien, dans ce cas android fournira son comportement par défaut c'est la seule raison. donc dans un état autre soit le désactiver ou le faire pas Togglable ou quelque chose

Questions connexes