所以这是我在Android上的第一个应用程序,它运行良好。但是,当我将屏幕倾斜到水平视图时,我的整数会重置为零。如果我水平启动然后将其切换到垂直,它也会将整数重置为零。如何让它不重置并切换?
答案 0 :(得分:1)
每次倾斜设备时,您的应用都会重新开展活动。您必须在旋转之前将数据保存在共享首选项文件中,因为旋转将终止活动,以便它可以使用新方向再次运行。
请参阅此链接,了解如何存储数据:http://developer.android.com/reference/android/app/Activity.html#SavingPersistentState
答案 1 :(得分:1)
覆盖onSaveInstanceState(Bundle outState)
方法。将您的数据放入outState
捆绑包中,然后在onCreate(Bundle savedInstanceState)
中将其从savedInstanceState
中提取出来。
如果您的数据比简单的整数更复杂,并且未实现Parcelable
接口,请使用Fragment
。
答案 2 :(得分:0)
如果您不想保存数据,可以快速修复此问题,进入AndroidManifest.xml文件并执行以下操作:
您也可以在AndroidManifest文件的xml中执行此操作,如下所示:
<activity
...
android:name="yourApp.MainActivity"
android:screenOrientation="portrait"
...
</activity>
修改 - 请记住
“这是我在android上的第一个应用程序”
如果你只是测试一下,锁定方向是一种完全合理的方法来阻止这种行为,但它绝不是任何“真实”项目中可行的解决方案。