Mar*_*era 11 java android overriding android-activity
在创建自己的Activity子类时,我们将覆盖一些基本的Activity生命周期函数.
在哪些方面我们必须称之为超级实施,我们应该在哪里以及哪里只有好的方式?
// base lifecycle
onCreate(Bundle savedInstanceState);
onStart();
onRestart();
onResume();
onPause();
onStop();
onDestroy();
finalize();
onUserLeaveHint();
// instance state
onSaveInstanceState(Bundle outState);
onRestoreInstanceState(Bundle savedInstanceState)
// others
onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo);
onCreateOptionsMenu(Menu menu);
onOptionsItemSelected(MenuItem item);
onContextItemSelected(MenuItem item);
onMenuItemSelected(int featureId, MenuItem item);
onActivityResult(int requestCode, int resultCode, Intent data);
onBackPressed();
Run Code Online (Sandbox Code Playgroud)
方法列表不是最终的,随意添加更多功能,我们应该知道,做什么.
对于那些感兴趣的人,应该在哪里super.methodName放置
Android Eclipse插件中的super()调用的位置生成的代码可靠吗?
必须:
onCreate(Bundle savedInstanceState);onStart();onRestart();onResume();onPause();onStop();onDestroy();onPostCreate(Bundle savedInstanceState);onPostResume();应该/不应该:( 可能有助于调用超类方法,除非你管理活动的状态或故意改变活动的行为 - 在这种情况下它可能是有害的)
onSaveInstanceState(Bundle savedInstanceState);onRestoreInstanceState(Bundle savedInstanceState);onBackPressed();onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo);onCreateOptionsMenu(Menu menu);onOptionsItemSelected(MenuItem item);onContextItemSelected(MenuItem item);onMenuItemSelected(int featureId, MenuItem item);实际上,当覆盖任何方法时,查看重写类的源代码并查看此方法的确切功能是一种很好的做法.
| 归档时间: |
|
| 查看次数: |
4206 次 |
| 最近记录: |