Android 静态法整理作业

Android 静态法整理作业,android,static,activity-finish,Android,Static,Activity Finish,我想在类中使用静态方法来完成一项活动。我的意思是这样的: 活动A、活动B、活动C、班级活动杀手。 类ActivitiesKiller具有用于完成活动a、B或C的静态方法 例如: 我的跑步课是B,我想完成活动A,所以我会打电话: ActivitiesKiller.activityKiller(A); 有可能吗?。 提前谢谢 我正在做这样的事情,但它不起作用 public class ActivitiesKiller { //..... public static void activityK

我想在类中使用静态方法来完成一项活动。我的意思是这样的: 活动A、活动B、活动C、班级活动杀手。 类ActivitiesKiller具有用于完成活动a、B或C的静态方法

例如: 我的跑步课是B,我想完成活动A,所以我会打电话:

ActivitiesKiller.activityKiller(A);
有可能吗?。 提前谢谢

我正在做这样的事情,但它不起作用

public class ActivitiesKiller {
 //.....

public static void activityKiller(Activity activity){ 
activity.finish();}


}

虽然这听起来不是一个好主意,但您需要做的是在创建时对活动进行静态引用,并在销毁时使其为空

public class ActivityA extends Activity
{
    public static Activity self;

    @Override
    public void onCreate(Bundle saveInstanceState)
    {
       super.onCreate(saveInstanceState);
       self = this;
    }

    @Override
    public void onDestroy()
    {
       super.onDestroy();
       self = null;
    }
}
然后你需要做以下的事情

public class ActivitiesKiller 
{
    public static void activityKiller(Activity activity)
    { 
        if(activity != null)
        {
            activity.finish();
        }
    }
}
你会称之为

ActivitiesKiller.activityKiller(ActivityA.self);

虽然这听起来不是一个好主意,但您需要做的是在创建时对活动进行静态引用,并在销毁时使其为空

public class ActivityA extends Activity
{
    public static Activity self;

    @Override
    public void onCreate(Bundle saveInstanceState)
    {
       super.onCreate(saveInstanceState);
       self = this;
    }

    @Override
    public void onDestroy()
    {
       super.onDestroy();
       self = null;
    }
}
然后你需要做以下的事情

public class ActivitiesKiller 
{
    public static void activityKiller(Activity activity)
    { 
        if(activity != null)
        {
            activity.finish();
        }
    }
}
你会称之为

ActivitiesKiller.activityKiller(ActivityA.self);

这听起来是一个糟糕的想法,只有在您对活动进行静态引用时才有可能,您不应该这样做,因为这可能会导致内存泄漏。也许最好解释一下您想要实现什么,我们可以提供帮助,在静态中存储
活动
,这是一个糟糕的主意,就像Zhuinden说的那样。@Wakim只是我正在学习的好奇心。这听起来是个糟糕的主意,只有在你对活动进行静态引用时才有可能,这是你不应该做的,因为它会导致内存泄漏。也许最好解释一下你想要实现什么,我们可以提供帮助,在静态中存储
活动
是个坏主意,就像卓登说的那样。@Wakim只是我在学习的好奇心。