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的顯示和切換了。