无法从扩展Dialog

时间:2016-09-12 12:16:01

标签: java android dialog

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

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

我尝试了public myclass(){},但它没有用。如何定义默认构造函数?

2 个答案:

答案 0 :(得分:2)

第一个方面

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());
}

希望它会有所帮助。

答案 1 :(得分:-1)

尝试添加如下所示的默认构造函数...

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