即使我在程序中将 checked 属性设置为 false,屏幕方向改变后 Switch 仍然保持选中状态。
以下是示例代码:
public class MainActivity extends AppCompatActivity {
Switch sw;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sw = (Switch)findViewById(R.id.sw);
sw.setChecked(false);
System.out.println(sw.isChecked());
}
}
标签会打印“false”,但开关在界面上仍然保持选中状态。这是布局文件中开关的XML元素:
<Switch
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/sw"
android:checked="false"/>
我错过了什么?
onStart()
方法而不是onResume
,这让我非常疯狂!现在我正在使用第二个选项,但我认为对于我的情况,使用第一个选项更合理。 - M.Rodríguez