1. 使用ActivityGroup时,如何保存Activity状态?
其实很简单, 只要像下面这样来加载Activity即可。
view plainprint?
getLocalActivityManager().startActivity("XXX", new Intent(this, XXX.class)).getDecorView()
那么又如何让ActivityGroup不保存子Activity的状态呢? 即切换时,直接销毁。
其实只要加一个Flag: Intent.FLAG_ACTIVITY_CLEAR_TOP
,如下:
view plainprint?
getLocalActivityManager().startActivity("YYY", new Intent(this, YYY.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView()
2 使用ActivityGroup时,如何使用子Activity的Menu?
其实也很简单,只要在继承ActivityGroup的类中
view plainprint?
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_MENU) {
this.getLocalActivityManager().getCurrentActivity().openOptionsMenu();
}
return super.onKeyDown(keyCode, event);
}
onkeyDown 或者 onkeyUp都可以!
其实很简单, 只要像下面这样来加载Activity即可。
view plainprint?
getLocalActivityManager().startActivity("XXX", new Intent(this, XXX.class)).getDecorView()
那么又如何让ActivityGroup不保存子Activity的状态呢? 即切换时,直接销毁。
其实只要加一个Flag: Intent.FLAG_ACTIVITY_CLEAR_TOP
,如下:
view plainprint?
getLocalActivityManager().startActivity("YYY", new Intent(this, YYY.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView()
2 使用ActivityGroup时,如何使用子Activity的Menu?
其实也很简单,只要在继承ActivityGroup的类中
view plainprint?
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_MENU) {
this.getLocalActivityManager().getCurrentActivity().openOptionsMenu();
}
return super.onKeyDown(keyCode, event);
}
onkeyDown 或者 onkeyUp都可以!