我有一个小问题,那就是我现在正在使用切换按钮,第一个切换按钮用于白天或夜晚指示,第二个切换按钮用于指示灯亮或亮。然后我的要求是当它是白天,然后第二个切换按钮不应该工作,然后当nite第二个切换按钮应该工作,这应该指示灯是打开还是关闭。我的代码是
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();
}
}
});
当第一个按钮关闭时,任何人都可以帮助我使第二个按钮不起作用。提前致谢
答案 0 :(得分: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);
}
});
答案 1 :(得分: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();
}
}
});
你的代码不能以你想要的方式工作,因为你在晚上得到了toggleButton的参考并设置了它的onClickListener,但在另一种情况下你什么都不做,在这种情况下android会提供它的默认行为。唯一的理由。所以在else条件下要么禁用它,要么使它不是Togglable或其他东西