我开始编写 Android 应用程序,但我遇到了复选框问题。
我的 Activity 中有一个复选框,我在 OnCheckedChanged 方法中放置了一条日志消息,以便在选中该复选框时启动,但是当我旋转屏幕时,该消息再次出现,就好像 OnCheckedChanged 方法在系统销毁并再次创建 Activity 。
这是怎么回事??谢谢。
最佳答案
我多次使用过的最好和最干净的解决方案是检查 View.isPressed() 是否存在。这是有道理的,因为用户将在触发回调时按下 Switch。
private Switch.OnCheckedChangeListener mOnSwitch = new Switch.OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
if (!buttonView.isPressed())
{
// Not from user!
return;
}
// Handle user check change
}
};
关于屏幕旋转后立即调用 Android Checkbox 监听器方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17493748/