3

我是 android 新手,我并没有在开发者网站上获得关于此的代码,我只想检查切换按钮的状态是打开还是关闭。我有以下情况

if (isCheckedToggleButton?)
{
    // do something         
}
else
{
    // do something else
}

以及指南建议的方法

public void onToggleClicked(View view)
{
    boolean on = ((ToggleButton)view).isChecked();

    if(on) {
        return;
    } else {

    }
}

所以我只想看看切换按钮是打开还是关闭,这样我就可以决定是在 if 还是 else 中执行代码。不幸的是,android指南提供的方法是无效的,因此它不会返回布尔值。我怎样才能检查状态?

        <Switch
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Lift"
            android:textOff="Uit"
            android:textOn="Aan"
            android:id="@+id/switchLift" android:layout_below="@id/btnEindpunt"
            android:layout_alignLeft="@+id/btnEindpunt"/>
4

1 回答 1

3

像这样使用它

myToggleButton.setOnCheckedChangeListener( new OnCheckedChangeListener()
{
    @Override
    public void onCheckedChanged(CompoundButton toggleButton, boolean isChecked)
    {
        if(isChecked)
            // Do something
        else
           // Do the other thing
    }
});

改变

ToggleButton myToggleButton = ((ToggleButton) findViewById(R.id.switchLift));

Switch myToggleButton = ((Switch) findViewById(R.id.switchLift));

还可以更改isChecked为其他内容,例如mIsChecked或在侦听器内部使用YourClassName.this.isChecked以更改其值。已经有一个同名的局部变量。

于 2015-01-12T22:41:22.160 回答