Android LocalActivityManager的用法

Android LocalActivityManager的用法

  在开发中会碰到在一个activity中的局部(或者是activity的Fragment中)显示其他的activity 的内容,这时就用到了LocalActivityManager类。

  假设这个容器是一个LinearLayout,id是linearContainer,  Activity中获取视图:
          LinearLayout linearContainer= (LinearLayout) findViewById(R.id.container);
          linearContainer.dispatchCreate(savedInstanceState);
 
  实例化LocalActivityManager:
          LocalActivityManager local= getLocalActivityManager();
  
  最后把OtherActivity塞进linearContainer里面:
          linearContainer.addView((local.startActivity("OtherActivityView", new Intent(this, OtherActivity.class))).getDecorView());
 
  addView是往Layout里动态增加View,别处也会用到。local.startActivity比一般的startActivity多一个String id参数:其实这个String id只是一个标识,自己随便起个不重样名字就好了,作用就是系统看到id一样的activity时会把两个activity当作一个处理。至于最后这个getDecorView()方法,就是把OtherActivity里面的View给调出来。
原文地址:https://www.cnblogs.com/fly-allblue/p/3880401.html