0

我搜索了谷歌和这个网站,但没有找到有效的答案。我目前正在开发一个 android 应用程序,并且我的视图中有切换按钮。但我无法检查他们是否被检查。CheckBoxes 有同样的问题(在那之后我用 ToggleButtons 试过了)

我查看切换按钮的 XML 代码:

<ToggleButton 
android:id="@+id/tglLoginStart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="10px"
android:layout_y="152px"
android:textOn="Automatische Login An"
android:textOff="Automatische Login Aus"
>
</ToggleButton>

我试过这个方法:

tglLoginStart = (ToggleButton) findViewById(R.id.tglLoginStart);
if(tglLoginStart.isChecked())
{
    myDB.execSQL("UPDATE " + MY_DB_TABLE + " SET `value`='1' WHERE `name`='autologin'");
}
else
{
    myDB.execSQL("UPDATE " + MY_DB_TABLE + " SET `value`='0' WHERE `name`='autologin'");
}

而这个方法:

tglLoginStart.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            // Perform action on clicks
            if (tglLoginStart.isChecked()) {
                myDB.execSQL("UPDATE " + MY_DB_TABLE + " SET `value`='1' WHERE `name`='autologin'");
            } else {
                myDB.execSQL("UPDATE " + MY_DB_TABLE + " SET `value`='0' WHERE `name`='autologin'");
            }
        }
    });

但是每次它都会将 0 写入数据库!有谁知道如何获得“真实”状态?

4

2 回答 2

0

尝试这个。

tglLoginStart.setOnCheckedChangeListener(new OnCheckedChangeListener() {

            public void onCheckedChanged(CompoundButton buttonView,
                    boolean isChecked) {
                                    if(isChecked)
                                    {
                                         //do you work
                                    }
                                    else {
                                       //do otherwise
                                    }
            }
}
于 2012-10-24T12:45:14.423 回答
0

尝试使用这个:http: //developer.android.com/reference/android/widget/CompoundButton.html#setOnCheckedChangeListener%28android.widget.CompoundButton.OnCheckedChangeListener%29

通常,这应该在您选中/取消选中ToggleButton.

希望这可以帮助!

于 2011-10-29T20:29:40.300 回答