2011-10-04 54 views
4

我有一个小问题,那就是我现在使用切换按钮,第一个切换按钮用于白天或夜晚指示,第二个切换按钮用于指示灯亮起或关闭。然后我的要求是当它是白天然后第二个切换按钮不应该工作,然后当第二个切换按钮应该工作,并且应该指示灯是否打开或关闭。而我的代码是第一个切换按钮不影响第二个

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

任何人都可以帮助我使第二个按钮不工作时,第一个按钮关闭。在此先感谢

回答

2

这为我工作:

<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" /> 

代码:

 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

喜里诺,你怎么你的切换按钮上的漂亮的“*绿灯*”?我的只有一条。而且,你是如何获得光滑外观的? – Sam

1

试试这个。

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

代码简化版,在你所希望的方式工作,因为,你得到的切换按钮的refrence当它的夜晚,并设置其onClickListener,但在其他情况下,你什么都不做,在这种情况下,Android将提供它的默认行为就是唯一的原因。因此,在其他条件禁用它或者使它不Togglable什么

相关问题