实习小记--
昨天给应用添加了这个功能,其实与其说是添加,还不如说是完善吧。
测试是用2.2的
网上方法有很多,我大致试了两种,均可以成功:
方法一:
在AndroidManifest.xml中,在需要转屏时,数据保存的Activity里添加android:configChanges="orientation|keyboardHidden",
然后再该Activity里重写如下方法:
 
@Override public void onConfigurationChanged(Configuration newConfig){ System.out.println("waw....."); super.onConfigurationChanged(newConfig); } 因为转屏时,会重新调用OnCreate()方法,这里的实质就是跳过了这些初始化的操作,直接调用onConfigurationChanged()这个方法了
方法二:
转屏时,将需要的数据暂时记录下来,然后,恢复数据方法如下,重写两个方法:
 
@Override  public void onSaveInstanceState(Bundle savedInstanceState) {  savedInstanceState.putString("text", myEditText.getText().toString()); super.onSaveInstanceState(savedInstanceState); } @Override  public void onRestoreInstanceState(Bundle savedInstanceState) {  super.onRestoreInstanceState(savedInstanceState);  String text = savedInstanceState.getString("text"); StringBuilder sb = new StringBuilder(); sb.append(text); myEditText.setText(sb); } 转屏时,会自动调用onSaveInstanceState()方法,然后在这个方法里,将需要的数据暂时存起来,当转屏动作完成时,会调用onRestoreInstanceState()方法,
然后将数据取出,进行重置。
另外,附上得到手机横竖屏状态的基本方法:
 
if (this.getResources().getConfiguration().orientation ==             Configuration.ORIENTATION_PORTRAIT) { //竖屏 popupGoTo = new PopupWindow(gotoPopView, popupW*2, popupW); } else { popupGoTo = new PopupWindow(gotoPopView, popupW, popupW*2/3); }  
附上转屏时,调用的函数:
竖屏-> 横屏
onSaveInstanceState
onPause
onStop
onDestory
onCreate
onStart
onRestoreInstanceState
onResume
横屏- > 竖屏

onSaveInstanceState
onPause
onStop
onDestory
onCreate
onStart
onRestoreInstanceState
onResume
onSaveInstanceState
onPause
onStop
onDestory
onCreate
onStart
onRestoreInstanceState
onResume
 
 
转载自:http://www.lightwj.com/2011/07/30/android9.html

更多相关文章

  1. android sqlite 简明教程
  2. android 绘图时抗锯齿方法两种
  3. Android之SQLite 学习一
  4. 5、frida进阶-Android逆向之旅---Hook神器家族的Frida工具使用详
  5. Android中的布局和控件
  6. Android模拟器无法上网的解决方法
  7. Android(安卓)学习路线总结
  8. 网络请求框架AsyncHttpclient的简单使用
  9. sparseArray

随机推荐

  1. appwidget 续
  2. Android UsageStatsService:要点解析
  3. Android getResources().getConfiguratio
  4. Android-----js和android的互调
  5. RxJava(十三):RxAndroid 2.x 和 Retrofit
  6. ARouter使用时build.gradle的配置
  7. Android之用户定位(一)
  8. Android学习笔记-ProgressBar和ListView
  9. GLSurfaceView的简单分析及巧妙借用
  10. android菜鸟学习笔记8----Activity(一)