我想用类导体管理所有活动,如下所示:
同时 所有活动都会扩展基本活动以使用公共视图
在这种情况下,我想处理转移活动,例如:
Base -> First -> Second -> Third -> First
Base -> First -> Fourth -> Fifth -> Fourth
转移活动时,指挥必须处理堆叠中的所有活动 我尝试写下这个指挥如下(我使用list来管理而不是堆栈):
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();
}
}
我将此导体存储在Global变量中。然后我用它如下:
//Get conductor from application global
conductor.startActivity(FirstActivity.this, SecondActivity.class);
//Then add conductor to application global
但我有一些问题:
有没有最好的方法来管理Android上的所有活动?我试过搜索但没有找到好的答案。
我不知道天气与否我的方式是对的。任何推荐或示例都会有所帮助!
答案 0 :(得分:1)
有一种方法可以做到这一点。你必须保存你的所有活动状态。当你需要回忆它们时,你必须使用那种状态。
了解更多信息: