美术馆网站网页设计方案,做网站不懂行情 怎么收费,如何开发自己公司的网站,成都vi设计十强最佳答案 一些状态丢失的例子: 1. 假设您有一个按钮和一个 TextView 。在代码中#xff0c;你已经定义了初始值为 0 的整数 i#xff0c;它通过单击按钮递增 1#xff0c;并且它的值显示在 TextView 中。假设你已经按下按钮 5 次#xff0c;那么 textview 将被设置为 0。也… 最佳答案 一些状态丢失的例子: 1. 假设您有一个按钮和一个 TextView 。在代码中你已经定义了初始值为 0 的整数 i它通过单击按钮递增 1并且它的值显示在 TextView 中。假设你已经按下按钮 5 次那么 textview 将被设置为 0。也就是说 Integer 在屏幕变化时丢失了它的值。 解决方案:覆盖 onSaveInstanceState 并输入整数值。然后在 onResume 或 onCreate 方法中保留该整数的值。 2. 假设您有一个待办事项 ListView 。用户动态添加到该 ListView 中的dos。假设用户添加了 3 个项目然后在屏幕旋转时(或者如果应用程序重新启动) ListView 将变为空。 解决方案: 再次在 onSaveInstanceState 中放入 ArrayList。 (列表可以实现为“Serializabe”或“Parcelable”并且可以作为一个整体存储。您不需要存储 ListView 的每个项目)。然后在 onResume 或 onCreate 方法中获取该 ListView 。 3.屏幕旋转时屏幕中的所有编辑文本都将变为空。 我对状态丢失的简单理解是只要配置发生变化(屏幕旋转或应用重启) Activity 的整个生命周期都会被调用。因此任何未保存的内容都将丢失。 好吧这让我想起任天堂的退出屏幕消息“任何未保存的内容都将丢失”。 android onSaveInstanceState 当Android应用程序的活动被系统销毁时系统会调用onSaveInstanceState()方法来保存活动的当前状态。该方法获取一个Bundle对象作为参数可以用来存储和传递数据。当活动被重新创建时可以通过onRestoreInstanceState()方法来恢复之前保存的状态。 以下是一个示例代码 Override
protected void onSaveInstanceState(Bundle outState) {super.onSaveInstanceState(outState);// 在此处保存需要的状态数据到outState中outState.putString(key, value);
}Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {super.onRestoreInstanceState(savedInstanceState);// 在此处恢复之前保存的状态数据String value savedInstanceState.getString(key);
}