Android 奇怪的行为

Android 奇怪的行为,android,checkbox,Android,Checkbox,我想使用复选框来更改textView的消息。选中复选框时,显示文本“已选中”,否则显示文本“未选中” 我用了一个OnClick监听器,一切似乎都正常,直到。。。我切换到横向:如果复选框被选中,复选框将保持选中状态,而当活动被重新创建且其起始值为“false”时,它应该被取消选中 我仔细研究了一下,发现复选框的值和预期的一样是“false” 带代码的插图: @Override protected void onCreate(Bundle savedInstanceState) { supe

我想使用复选框来更改textView的消息。选中复选框时,显示文本“已选中”,否则显示文本“未选中”

我用了一个OnClick监听器,一切似乎都正常,直到。。。我切换到横向:如果复选框被选中,复选框将保持选中状态,而当活动被重新创建且其起始值为“false”时,它应该被取消选中

我仔细研究了一下,发现复选框的值和预期的一样是“false”

带代码的插图:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final CheckBox checkBox = (CheckBox) findViewById(R.id.checkBox1);
    final TextView textView = (TextView) findViewById(R.id.textView1);

    //Code to check if checkbox is checked
    if (checkBox.isChecked())
        textView.setText("Checked");

    checkBox.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            if (checkBox.isChecked()) {
                textView.setText("Checked");
            }else 
                textView.setText("Unchecked");
        }
    });
}
启动屏幕:

检查:

切换到景观:

活动将再次创建,复选框值为false,但看起来好像已选中

问题是:


为什么该复选框在屏幕上显示为选中状态?

禁用应用于该复选框的还原实例状态


将android:saveEnabled=“false”添加到您的复选框xml

也适用于我使用Switch时的情况

对于优先级高于后端工作的xml工作表,通常不会考虑和覆盖restoredInstanceState捆绑包,并且通常是遇到此类问题时的问题