activity嵌套activity

  • Post author:
  • Post category:其他





LocalActivityManager类用来管理activity,通过startActivity(string Tag,Intent intent)方法获取当前windows对象在调用getDecorView()方法获取当前Activity对应的VIew,在添加的时候会遇到下面的问题




Caused




by


:


java


.


lang


.


IllegalStateException


:




Activities


can


‘t be added until the containing group has been created.


解决办法:


LocalActivityManager


mLocalActivityManager


;


oncreate


()方法实例化


mLocalActivityManager


=




new




LocalActivityManager


((


Activity


)


context


,




true


);




2


、在


oncreate


,


onresume


,


onpause


方法中分别加入如下代码:


oncreate


()————–


mLocalActivityManager


.


dispatchCreate


(


arg0


);参数


arg0





oncreate


方法的形参




onpause


()————–


mLocalActivityManager


.


dispatchPause


(


isFinishing


());传入


true


onresume


()————–


mLocalActivityManager


.


dispatchResume


();


LocalActivityManager


的使用方法

我是自己封装了一个方法LocalActivityManager的使用方法我是自己封装了一个方法

<pre name="code" class="java"><span style="font-size:18px;">localActivityManager在oncreate中创建
localActivityManager = new LocalActivityManager(MainActivity.this, true);
</span>


private void setActivity(Class<?> activity){


Intent intent = new Intent(MainActivity.this,

activity);

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

@SuppressWarnings(“deprecation”)

View v = localActivityManager.startActivity(“one”,

intent).getDecorView();

layout_fram.removeAllViews();

layout_fram.addView(v);

}



在需要的位置调用此方法 其中参数 是activity.class



layout_fram是xml文件中的布局见下文

<FrameLayout

android:id=”@+id/group_layout”

android:layout_width=”match_parent”

android:layout_height=”wrap_content”

            android:layout_weight="1" >


</FrameLayout>




版权声明:本文为Applicaton原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。