您好我有一个安卓库项目A.它的主要活动包含方法abc(String)。当我尝试在集成项目A之后从其他项目调用此方法时,它强制关闭。我用了代码
MainActivity a=new MainActivity();
a.abc("");
我是否正确地从其他项目中调用来自库项目活动的方法?请帮助我,我是android新手,提前谢谢。
答案 0 :(得分:3)
您不应该实例化Activity类。 Activity具有生命周期,您应该在清单中声明相同并使用startActivity(intent)
。
检查在清单文件中声明库组件
http://developer.android.com/tools/projects/projects-eclipse.html
声明后,您可以启动活动。
Can i Create the object of a activity in other class?
引用Raghav Sood
通过将Activity视为普通的Java类,您最终会得到一个空上下文。由于Activity中的大多数方法都在其Context上调用,因此您将获得一个空指针异常,这就是您的应用程序崩溃的原因。
相反,将需要从其他类调用的所有此类方法移动到Utility类中,该类在其构造函数中接受有效上下文,然后在方法中使用该上下文来完成工作。