4

我正在各种型号上测试我的应用程序,我意识到切换按钮 ON 和 OFF 事件不起作用。这是设备列表:

三星 YS5360 三星 Galaxy Note 三星 S Plus HTC Sensation XE HTC Wildfire S 摩托罗拉 RAZR
LG 擎天柱 黑色 索尼爱立信 Xperia neo V

我不确定自己做错了什么,因为我遵循了所有 Android 规范。这些事件适用于其他设备。我可以帮忙吗,有人吗?

[重新编辑]

这就是我实现监听器的方式:

    @Override
    public void onCheckedChanged(CompoundButton arg0, boolean change) {

        if(change){
            if(text.containsKey("on")){
                // do something
            }
        }else{
            if(text.containsKey("off")){
                // do something
            }
        }
        if(text.containsKey("clicked")){
            // do something
        }
     // }
   }
};

我检查了 ON 和 OFF 状态,但这似乎不适用于其他设备。

4

2 回答 2

6

使用文本来了解状态ToggleButton是一个坏主意。请改用该isChecked参数。请参阅其文档。

@Override
public void onCheckedChanged (CompoundButton buttonView, boolean isChecked) {
    if (isChecked) {
        /* checked. ON */
    } else {
        /* unchecked. OFF */
    }
    ...
}
于 2012-07-25T13:22:24.873 回答
2

Try This Code

    toggle=(ToggleButton)findViewById(R.id.tglbtn);
    toggle.setOnClickListener(new OnClickListener() {
          public void onClick(View v) {
           // TODO Auto-generated method stub
          if(toggle.isChecked())
          {
           Toast.makeText(getApplicationContext(), "The state is changed to on", Toast.LENGTH_LONG).show();
           }
            else
            {
              Toast.makeText(getApplicationContext(), "The state is changed to off", Toast.LENGTH_LONG).show();
             }
             }
             });
于 2012-07-31T08:31:22.943 回答