我想扩展 ArrayAdapter 但调用
ArrayAdapter.createFromResource(context,textArrayResId,textViewResId);
而不是
super(context,textArrayResId,textViewResId)
在 myArrayAdapter 构造函数内,但我总是收到 android.widget.ArrayAdapter 中没有可用的默认构造函数错误。
看起来必须调用 super 是必须的,所以当我使用它时,代码编译得很好。我要求做的事情可能吗?
public class myArrayAdapter<CharSequence> extends ArrayAdapter {
public myArrayAdapter(Context context, int textArrayResId, int textViewResId) {
// super(context,textArrayResId,textViewResId);
ArrayAdapter.createFromResource(context,textArrayResId,textViewResId);
}
}
最佳答案
在此场景中必须显式调用父类构造函数。您可以为此目的创建静态工厂方法。
关于java - 我可以从构造函数主体调用静态方法来获取实例而不是调用 Super 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39975857/