写点什么

在不丢失数据的情况下处理屏幕旋转 - Android

作者:坚果前端
  • 2021 年 12 月 19 日
  • 本文字数:699 字

    阅读完需:约 2 分钟

我正在疯狂地弄清楚处理屏幕旋转的最佳方法是什么。


如何在重新创建活动之前保存 myClass 数据,以便我可以保留重绘活动的所有内容,而无需再次进行无用的初始化?


有没有比 Parcelable 更清洁、更好的方法?


我需要处理旋转,因为我想在横向模式下更改布局。


public class MtgoLifecounterActivity extends Activity {
MyClass myClass;
// Called when the activity is first created @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);
If ( ?? first run...myClass == null ? ) { myClass = new MyClass(); } else { // do other stuff but I need myClass istance with all values. } // I want that this is called only first time. // then in case of rotation of screen, i want to restore the other instance of myClass which // is full of data. }
复制代码

解决办法:

在清单的活动标签中,你应该提到


<activity        android:name="com.example.ListActivity"        android:label="@string/app_name"         android:configChanges="keyboardHidden|orientation">
复制代码


如果您使用的是 Android 2.3(API 级别 13)及以上,请使用


<activity        android:name="com.example.Activity"        android:label="@string/app_name"         android:configChanges="keyboardHidden|orientation|screenSize">
复制代码


它应该工作。


它仅适用于活动标签而不适用于应用程序标签

好的,今天的知识就分享到这儿

发布于: 1 小时前阅读数: 5
用户头像

坚果前端

关注

此间若无火炬,我便是唯一的光 2020.10.25 加入

公众号:“坚果前端”,华为云享专家,51CTO博客首席体验官,专注于大前端技术的分享,包括Flutter,小程序,安卓,VUE,JavaScript。

评论

发布
暂无评论
在不丢失数据的情况下处理屏幕旋转 - Android