当我更改屏幕方向时,我的Android应用程序崩溃了

时间:2011-06-06 05:59:38

标签: android

在我的应用程序中,网络访问正在一个线程中运行。每当我更改屏幕方向时,我的应用程序崩溃。我怎么解决这个问题?

4 个答案:

答案 0 :(得分:2)

感谢您的回答.. 我通过实现活动生命周期方法OnStop得到了解决方案。 在那个方法中,我刚刚添加了以下代码

@Override
public void onStop()
{
    super.onStop();
    if(thread!=null)
        thread.stop();
    if(dialog!=null)
        dialog.dismiss();
}

答案 1 :(得分:1)

每次设备方向更改时,活动实际上都会停止并重新启动。你需要记住你的线程,即停止线程并在设备改变方向时重新启动它,也许在两者之间保存状态。

答案 2 :(得分:1)

您好我认为您应该首先完成活动生命周期。

因为只要方向发生变化,就会调用OnCreate()方法,

会导致应用程序崩溃。

最诚挚的问候, 〜阿努普

答案 3 :(得分:1)

您可以让您的应用程序侦听可能导致重新启动的事件(如方向和键盘可见性更改),并在您的活动中处理它们。

首先将android:configChanges节点添加到Activity的清单节点

 android:configChanges="keyboardHidden|orientation"

然后在Activity中覆盖onConfigurationChanged方法并调用setContentView以强制在新方向上重新完成GUI布局。

@Override
public void onConfigurationChanged(Configuration newConfig) {
  super.onConfigurationChanged(newConfig);
  setContentView(R.layout.myLayout);
}