1.startActivityForResult()与onActivityResult()
参考:http://wang-peng1.iteye.com/blog/632833
Activity1:
①StartActivityForResult( intent, requestCode ):
一旦调用这个方法启动另一个Activity,
则另一个Activity必须调用setResult( resultCode, intent data)来做出响应,
且在本Activity中重写onActivityResult( requestCode, resultCode, intent data)来对另一个Activity传来的intent data做处理。
②OnActivityResult(requestCode,resultCode, intent data):
RequestCode:int型,对应setResult()中的requestCode的参数;
ResultCode:int型,一般有两种结果响应码——Activity.RESULT_OK和Activity.RESULT_CANCELED,对应另一个Activity中setResult()中的参数resultCode;
Intent data:对应另一个Activity中的setResult()中的参数Intent data。
③FinishActivity(requestCode):
与finish()结束本Activity不同的是,该方法是根据请求码,来结束之前利用StartActivityForResult(intent,requestCode )启动的Activity。
Activity2:
SetResult(resultCode, intentdata):
ResultCode和Intent data将会传给另一个Activity的onActivityResult()中的参数。
2.onPause()的用法
向存储设备写入至关重要的持久性数据,因为我们不知道Activity在进入暂停状态后,下一步是调用onStop()还是onResume()方法。
但要注意尽量不影响Activity之间的跳转,避免对用户体验造成不必要的影响。
可见生命周期:onStart()-->onResume()-->onPause()-->onStop()
前台生命周期:onResume()-->onPause()
3.View与ViewGroup的关系
View是基类,ViewGroup是子类 。
View的子类有widget和ViewGroup。
ViewGroup的子类是Layout。
Widget指的是Button,TextView类型的UI组件,
Layout指的是RealativeLayout类型的组件。