我有两个不同的类(A类和B类)。我想在类B中使用类A的方法。我通常在类A中使用对象并在类B中调用方法。但不幸的是我得到强制关闭错误。在android中调用另一个类的方法有什么不同吗?我在stackoverflow中引用了很多文章。但我无法理解。请帮我找出解决方案。
答案 0 :(得分:5)
您不应该像这样创建对象,您应该使用上下文来调用对象,如下所示
((Class A) contextObject).function();
它在我的系统上完美运行,
答案 1 :(得分:2)
早期的A类和B类都在扩展Activity,现在只有A扩展Activity而B扩展A而现在B可以调用A的函数 这对我有用: -
public class A extends Activity
{
functionOfA(){}
}
public class B extends A
{
//calling function of class A
functionOfA();
}
答案 2 :(得分:1)
你必须创建A类的构造函数 &安培;在B级中,对A级进行操作 用
初始化它ClassA obj=new classA();
obj.method_A();
希望这会有所帮助
答案 3 :(得分:1)
在Android的情况下,扩展Activity的类将维护其生命周期方法。如果在不同类中定义的方法,则其他当前运行活动可能被终止或处于暂停状态。所以建议如果在应用程序中可重用的方法应该在不同的类中,例如(AppManager单例类)而不是在单个活动类中
答案 4 :(得分:0)
正如我在评论中所说,你不应该实例化活动。
如果您的方法使用从Context
对象调用的某个方法,则可以创建一个新类(Class NewClass
),该类接受上下文参数并在其中实现您的方法。
因此,您可以通过任何活动致电您的课程:
NewClass nc = new NewClass(this);
查看如何在Android中使用数据库的一些示例。它使用相同的方式。