android - 从静态方法完成 Activity

标签 android static activity-finish

我想在类中使用静态方法来完成一项 Activity 。我的意思是这样的: Activity A, Activity B, Activity C,ActivitiesKiller 类。 ActivitiesKiller 类有一个完成 Activity A、B 或 C 的静态方法。

一个例子: 我的运行课是 B,我想完成 Activity A,所以我会打电话:

ActivitiesKiller.activityKiller(A);

这可能吗? 提前致谢

我正在做类似的事情,但它不起作用。

public class ActivitiesKiller {
 //.....

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


}

最佳答案

虽然这听起来不是个好主意,但您需要做的是在创建时对 Activity 进行静态引用,并在销毁时将其清空。

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

关于android - 从静态方法完成 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24231988/

相关文章:

java - 我的 Retrofit/ReactiveX 方法实际上是异步检索数据吗?

android - Kotlin更新MutableLiveData的值

c++ - 构造函数在静态 std::map 上调用了两次

java - 安卓 : startActivityForResult() with BACK button functionality

java - 相同的 Activity 堆叠

android - Supersonic ADS 和 Xamarin 之间的集成

java - 静态映射的空指针异常

Java - 如何获取变量形式 JTeXtField 并在算法 J48 中使用

android - 完成 Activity 不会重置它

android - 在 Android Studio 中构建文件时出现 Flutter 错误