ActivityGroup是Android中的一个类,用于管理多个Activity的显示。下面是使用ActivityGroup的步骤:
public class MyActivityGroup extends ActivityGroup {
// ...
}
private ArrayList<View> history;
onCreate()
方法,在其中初始化Activity的集合和默认显示的Activity。@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 初始化Activity的集合
history = new ArrayList<View>();
// 创建默认显示的子Activity
Intent intent = new Intent(this, MainActivity.class);
View view = getLocalActivityManager().startActivity("MainActivity", intent).getDecorView();
// 将默认显示的子Activity添加到集合中
history.add(view);
// 设置当前显示的Activity
setContentView(view);
}
startActivity()
方法启动新的子Activity,并将其添加到集合中。public void switchActivity(Class<?> cls) {
Intent intent = new Intent(this, cls);
View view = getLocalActivityManager().startActivity(cls.getName(), intent).getDecorView();
history.add(view);
setContentView(view);
}
public void back() {
if (history.size() > 1) {
history.remove(history.size() - 1);
View view = history.get(history.size() - 1);
setContentView(view);
}
}
这样就可以通过ActivityGroup来管理多个子Activity的显示和切换了。