gpt4 book ai didi

android - 在 Android Helper 类中使用 Context 和 Activity 有什么区别?

转载 作者:行者123 更新时间:2023-11-30 03:27:22 26 4
gpt4 key购买 nike

我正在使用辅助类,想知道使用 Acitvity 对象和使用 Context 对象之间的实际区别是什么。

假设我有一个类,并说我在该类中创建了一个辅助对象,如下所示:

Helper h = new Helper(this);

现在我可以像这样设置我的助手类:

public class Helper {
private Activity a;

public Helper(Activity a) {
this.a = a;
}
}

或者我可以这样做:

public class Helper {
private Context c;

public Helper(Context c) {
this.c = c;
}
}

我什么时候应该使用哪种方法?有什么优点和缺点?

最佳答案

使用:

public Helper(Activity a) {
this.a = a;
}

比使用更具体:

public Helper(Context c) {
this.c = c;
}

这意味着(例如) 如果您调用了 Helper(MainActivity);如果您有两个“具有不同返回类型!”的构造函数,它将首先引用 Helper(Activity a)。 .如同:Class(Object o)Class(String s)调用 Class(null) 将引起 Class(String s) 而非 Class(Object o)

的响应

Context 是基础对象,因此每个 Activity 都会扩展 Context:

java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.view.ContextThemeWrapper
↳ android.app.Activity

Documentation

希望这会有所帮助。

关于android - 在 Android Helper 类中使用 Context 和 Activity 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18032209/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com