我使用单例类来存储整个项目的全局变量。此外,还要托管几个类/活动可能使用的一些常用功能,例如启动alertBuilder窗口。但是为了做到这一点......我需要我的单例来扩展Activity,就像这样:
public class dataBaseObject extends Activity {
我试图扩展应用程序,但这不允许我这样做:
View view = context.getLayoutInflater().inflate(layoutType, null);
因此,有人可以告诉我是否存在延长单身人士活动的隐患?
答案 0 :(得分:3)
将Activity
类作为单例是没有意义的,因为Activity
的实例是由android系统实例化的。
你可以做的是创建一个扩展Activity
的抽象类,就像这样
public abstract class AbstractActivity extends Activity {
public static final int EXAMPLE_CONSTANT = 345;
public final void exampleMethod() {
...
}
// This may not be needed
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
....
}
}
然后,您可以将所有活动类扩展为AbstractActivity
。您不需要在manifest.xml
中声明这样的抽象类。
另一种解决方案是让所有实用程序方法都具有Activity
或Context
的参数,并将this
传递给这些方法。