zoukankan      html  css  js  c++  java
  • 在设置了android:parentActivityName后,点击子Activity返回键,父Activity总会调用OnDestroy()的解决方式

    近期查了非常久这个事情。分享给大家,

    原理非常easy,一个Activity在manifet里声明了android:parentActivityName;这时候通过Activity左上角的返回button点击返回,

    启动声明的父Activity,总会先调用父Activity的OnDestroy方法,详细如以下所说:


        <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>
    DisplayMessageActivity为子Activity,而MainActivity为父Activity,点击
    DisplayMessageActivity的左上角返回button的时候。调用逻辑例如以下:
    MainActivity.onDestroy()
    MainActivity.onCreate(null)
    MainActivity.onStart()
    解决方式是:
    为设置MainActivity属性android:launchMode=singleTop
    
    
    
    顺便脑补android:parentActivityName的作用,就是为了左上角给子Activity加一个返回button,详细信息例如以下:
    Android 4.1提高性能、增强用户体验
      App 栈导航:通过设置android:parentActivityName改变回退栈的内容。假设栈中没有parentActivity,则合成栈。通过onPrepareNavigateUpTaskStack()改变parentActivity中的内容。

  • 相关阅读:
    不成熟打地鼠游戏
    代码
    简单的JS功能
    json取数据问题
    ojdbc14.jar 与ojdbc6.jar的区别
    IIS6.0开启gzip压缩
    column 'XXXX' in field list is ambiguous
    Struts bean:define标签用法
    hibernate 学习笔记
    The content of element type "strutsconfig" must match "(displayname?,descr
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/8376796.html
Copyright © 2011-2022 走看看