选装android手机,Activity 重新启动的问题

2014-10-27 17:12:11     人阅读    

我的android app上,当我旋转设备(滑出键盘),那么我的activity会被重新调用(onCreate被调用)。现在,这大概是怎样的应该是,但我做了很多最初成立于onCreate方法,所以我需要两种:
1,在其他函数上初始化所有数据,再旋转的时候不用丢失全部市局
2,确保onCreate 方法不用再次调用,能不能只调整布局来解决?
3,能否限制android app 只是重新绘制图片,不用调用onCreate?

 

处理方法

这取决于你正在做你的初始化什么,你可以考虑创建一个扩展应用提供了新的类和移动你的初始化代码到这个类中的覆盖onCreate方法。

关键在于你初始化的时候做了哪些工作,你可以考虑创建一个继承Application的新类并且把你的初始化内容放到重写的 onCreate 里面

public class MyApplicationClass extends Application {

@Override

public void onCreate() {

super.onCreate();

// TODO Put your application initialization code here.

}
}
}

onCreate 只在在整个程序被调用的时候,所以 这个Activity 就不会在 方向改变和键盘改变的时候触发。

你可以采用个另一个方案:你可以再程序中监听导致重启的事件,比如在方向改变和键盘改变的时候,然后针对改变进行处理即可

在你的Activity's manifest android:configChanges 节点中添加
android:configChanges="keyboardHidden|orientation"

或者在 Android 3.2 (API level 13) and newer:的版本中添加
android:configChanges="keyboardHidden|orientation|screenSize"

然后只要 Activity 重写onConfigurationChanged 方法,调动 setContentView 强制gui 布局重新定义位置

@Override
p
public void onConfigurationChanged(Configuration newConfig) {

super.onConfigurationChanged(newConfig);

setContentView(R.layout.myLayout);
}
}


原文地址:http://www.itmmd.com/201410/64.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

如何在android 打包数据库?如何内置数据库?   上一篇
下一篇  android 下载的时候在ProgressDialog同时显示进度条
精彩回复
我要追加问题,请求站长解决!
姓名:       

《程序员app》专门为程序员量身定做!