我是Android应用程序的新手。 我的adnroid应用程序在模拟器上运行良好,但在真正的Android设备(Softbank 003 SH)上运行,当我将设备从纵向旋转到横向时,应用程序意外停止。 你有什么提示可以解决这个问题吗?
答案 0 :(得分:3)
将设备从横向旋转到纵向时将重新创建活动,因此线程将停止,如果任何构建器正在运行,则会导致错误:
首先添加 android:configChanges 节点到您的Activity的清单节点
android:configChanges="keyboardHidden|orientation"
然后在Activity中覆盖onConfigurationChanged方法并调用setContentView以强制在新方向上重新完成GUI布局。
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.myLayout);
}
答案 1 :(得分:1)
您可以使用CTRL + F12模拟模拟器上的旋转。
至于“意外”停止,这是因为当你旋转时,重新加载Activity(onCreate再次运行等),你可能没有遵循Android的编码方式,你的一些变量最终未初始化!假设Android像Windows一样工作(有应用程序)是一个非常常见的错误,但一般来说,它更像iPhone或动态网页(具有半独立形式)。
检查LogCat是否有错误。