我想用这样的类指挥管理所有活动:
所有活动都扩展基本活动以使用公共视图。
在这种情况下,我想处理传输活动,例如:
Base -> First -> Second -> Third -> First
Base -> First -> Fourth -> Fifth -> Fourth
传输活动时,导体必须处理堆栈中的所有活动。
我尝试如下编写这个导体(我使用列表而不是堆栈来管理):
public class Conductor {
private List<Activity> listOfActivityInStack;
public Conductor(){
listOfActivityInStack = new ArrayList<Activity>();
}
public void startActivity(Activity activity, Class<?> cls){
listOfActivityInStack.add(activity);
Intent i = new Intent(activity.getApplicationContext(), cls);
activity.startActivity(i);
}
public void startActivityForResult(Activity activity, Class<?> cls, int requestCode){
listOfActivityInStack.add(activity);
Intent i = new Intent(activity.getApplicationContext(), cls);
activity.startActivityForResult(i, requestCode);
}
public void startAcitivtyClearPrevious(Activity activity, Class<?> cls){
listOfActivityInStack.clear();
listOfActivityInStack.add(activity);
Intent i = new Intent(activity.getApplicationContext(), cls);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
activity.startActivity(i);
}
public int getCount(){
if(listOfActivityInStack == null)
return 0;
return listOfActivityInStack.size();
}
}
我将此导体存储在全局变量中。然后我使用它如下:
//Get conductor from application global
conductor.startActivity(FirstActivity.this, SecondActivity.class);
//Then add conductor to application global
但我有一些问题:
- 我必须为所有活动处理 goBack() 以从列表中删除活动。
- 检查列表中是否存在活动,如果是,请尝试获取其实例。
有没有最好的方法来管理 android 上的所有活动?我试过搜索,但没有找到好的答案。
我想知道天气是否正确。任何推荐或示例都会有所帮助!