0

我正在尝试使用GPUImageandroid 类。我已经围绕这个构建了一个 android 应用程序,但我需要向GPUImage该类添加一些附加功能。

为此,我做了:

public class GPUImageExt extends GPUImage {
}

我需要覆盖其中的一些,但我还必须添加一些新方法。

例如一个SavedListener存在,我需要添加一个额外的监听器。

不幸的是,我遇到了一个问题:

There is no default constructor available in co.jp.cyberagent.android.gpuimage.GPUImage

我该如何解决 ?

4

4 回答 4

0

您必须决定GPUImage从子类的构造函数中调用哪些现有构造函数。

例如,由于GPUImage有一个构造函数,它接受一个类型的参数Context,你可以在你的子类中有一个构造函数:

public GPUImageExt (Context context)
{
    super (context);
    ...
}

或者 :

public GPUImageExt (Context context, SomeOtherType someOtherParam)
{
    super (context);
    ...
}
于 2015-07-12T07:10:22.433 回答
0

你可以在这里查看源代码

尝试这个

public GPUImageExt( final Context context )
{
    super( context );
}
于 2015-07-12T07:11:09.763 回答
0

您的构造函数必须调用声明的构造函数GPUImage

public GPUImage(final Context context)

您可能需要考虑是否要对 GPUImage 进行子类化,而不是将其包装在某些东西中并使用组合/委托。

于 2015-07-12T07:12:35.777 回答
0

默认构造函数是一个不带参数的构造函数,因此只需向您的类添加一个,即使您不会使用它。

public class GPUImageExt extends GPUImage {
Context context;

public GPUImageExt (Context context)
{
super (context);
this.context = context;
...
}
//default constructor
GPUImageExt(){
super(context);
}

}
于 2015-07-12T07:23:40.653 回答