mto*_*ssi 20 android android-lifecycle android-activity
我有一个非常简单的应用程序基于构建您的第一个应用程序教程.有两种活动:MainActivity调用DisplayMessageActivity通过startActivity().
进入时DisplayMessageActivity,我看到:
MainActivity.onStop()
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,但是当我按下后退按钮返回父母时MainActivity,我得到:
MainActivity.onDestroy()
MainActivity.onCreate(null)
MainActivity.onStart()
Run Code Online (Sandbox Code Playgroud)
对于这个非常简单的应用程序,活动总是被破坏.但根据文档(第二个要点),典型的行为是在这种情况下停止和重新启动活动.
此外,onDestroy()首次启动子活动时不会发生,但只会单击一次后退按钮.
两个问题:
null被传到onCreate()这里?这阻止了我保持状态onSaveInstanceState().请注意,我已经验证设置 - >开发者选项 - >应用 - >不要保持活动未选中.
编辑:
以下是子活动与父级链接的方式:
<activity
android:name="com.example.helloworld.DisplayMessageActivity"
android:label="@string/title_activity_display_message"
android:parentActivityName="com.example.helloworld.MainActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.helloworld.MainActivity" />
</activity>
Run Code Online (Sandbox Code Playgroud)
追踪DisplayMessageActivity.onOptionsItemSelected(),我可以看到它在呼唤Activity.onNavigateUp().
| 归档时间: |
|
| 查看次数: |
5524 次 |
| 最近记录: |