可以通过单例类扩展Activity

时间:2015-10-28 14:54:54

标签: android android-activity

我使用单例类来存储整个项目的全局变量。此外,还要托管几个类/活动可能使用的一些常用功能,例如启动alertBuilder窗口。但是为了做到这一点......我需要我的单例来扩展Activity,就像这样:

public class dataBaseObject extends Activity {

我试图扩展应用程序,但这不允许我这样做:

    View view  = context.getLayoutInflater().inflate(layoutType, null);

因此,有人可以告诉我是否存在延长单身人士活动的隐患?

1 个答案:

答案 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中声明这样的抽象类。

另一种解决方案是让所有实用程序方法都具有ActivityContext的参数,并将this传递给这些方法。