不能从扩展Dialog的类创建默认构造函数



我有一个扩展Dialog的类。当我试图生成我的应用程序时,我收到一条消息

Error: This class should provide a default constructor (a public constructor with no arguments)

我试过public myclass(){},但它不起作用。如何定义默认构造函数?

第一种方式

private static Context context;
public static void setContext(Context context_) {
    context = context_;
}
public myclass() {
    super(context);
}

注意:在调用该类的构造函数之前,不要忘记调用setContext方法。

第二种方式

1)在项目中创建Application类
public class MyApplication extends Application {
    private static Context mContext;
    @Override
    public void onCreate() {
        super.onCreate();
        mContext = getApplicationContext();
    }
    public static Context getContext() {
        return mContext;
    }
}

2)在Manifest中像下面这样声明这个应用程序

<application
    android:name=".MyApplication"
    android:icon="@drawable/icon"
    android:label="@string/app_name" >

3)和类super方法在你的类,如

public myclass() {
    super(MyApplication.getContext());
}

希望对你有帮助。

尝试添加如下的默认构造函数…

public myclass(Context context){ 
  super(context);
}

最新更新