从静态方法完成活动

时间:2014-06-15 17:01:56

标签: android static activity-finish

我想在类中执行静态方法来完成一个活动。我的意思是这样的: 活动A,活动B,活动C,活动杀手。 Class ActivitiesKiller有一个静态方法来完成活动A,B或C.

一个例子: 我的runnig类是B,我想完成活动A,所以我打电话给:

ActivitiesKiller.activityKiller(A);

这可能吗? 先谢谢

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

public class ActivitiesKiller {
 //.....

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


}

1 个答案:

答案 0 :(得分:6)

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

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);