android的新手:为什么必须通过类扩展活动来传递其上下文

时间:2013-10-30 11:52:35

标签: java android

有一个名为Utils的类:

public class Utils{  }

还有另一个名为HotOrNot的类。它包含一个像这样的构造函数:

public HotOrNot(Context c){ ourContext =c ;}

在utils类中,我想启动一个HotOrNot实例,所以我输入:

HotOrNot info = new HotOrNot(this);

但是,这段代码给了我以下错误:

  

构造函数HotOrNot(Utils)未定义

我通过扩展这样的Utils类解决了这个错误:

public class Utils extends Activity {   }

为什么必须扩展活动以传递其上下文HotOrNot的构造函数?

1 个答案:

答案 0 :(得分:1)

HotOrNot的构造函数需要Context(通常这将是您的主要活动)。 所以只是在Util类中传递this将不起作用(因为它不是Context的子类) 您应该以某种方式将Activity的引用传递给Utils,以便在那里使用它,而不是在您的Utils类中扩展Activity