【问题标题】:OnResume() not called by Pressing back Button in ActivityGroupOnResume() 未通过在 ActivityGroup 中按返回按钮调用
【发布时间】:2011-08-06 01:58:20
【问题描述】:

由于 ActivityGroup 以视图的形式管理活动,因此当我尝试返回调用 ActivityGroup 中的子 Activity 的父 Activity 时,不会调用 onResume()。

我尝试像这样调用 OnResume()。

((Activity)view.getContext()).onResume();

但它不起作用,finish() 对我来说很好。

((Activity)view.getContext()).finish();

所以,我能够从视图中获取 Activity,但无法调用 onResume(),任何想法都会很明显。

【问题讨论】:

    标签: java android


    【解决方案1】:

    试试这个,当你使用 ActivityGroup 按返回按钮时。

    public void back()
        {
         if ( arrList.size() > 1 )
          {
           arrList.remove(arrList.size() - 1);
           View v = arrList.get(arrList.size() - 1);
    
           Activity_name object = ((Activity_name)v.getContext());
           object.onResume();
           setContentView(v);
          }
         else {
          this.finish();
         }
        }
    

    【讨论】:

      【解决方案2】:

      onResume 是操作系统在活动到达堆栈顶部时调用的生命周期方法。不能直接调用。

      【讨论】:

      • 据我所知,onResume() 在调用一次后返回 Activity 时会被调用,但在这种情况下不会调用 onResume(),因此我不得不调用直接。
      • 它在 onCreate() 之后和应用程序在 onPause() 之后恢复之后被调用。没有适合您直接调用它的地方。曾经
      • 我不确定你是如何确定它没有运行的,但你不能直接调用它。在此处查看生命周期图:developer.android.com/reference/android/app/Activity.html
      • 各位,我想调用ActivityGroup中选中Activity的onResume(),我觉得可以。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多