First Toggle按钮不会影响第二个

时间:2011-10-04 05:25:54

标签: android togglebutton

我有一个小问题,那就是我现在正在使用切换按钮,第一个切换按钮用于白天或夜晚指示,第二个切换按钮用于指示灯亮或亮。然后我的要求是当它是白天,然后第二个切换按钮不应该工作,然后当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();
}
                       }
       });

当第一个按钮关闭时,任何人都可以帮助我使第二个按钮不起作用。提前致谢

2 个答案:

答案 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);
        }
    });

enter image description here

答案 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或其他东西