I have an Android Project using Java and Butterknife for view binding. I am in the process of migrating to Androids viewbinding. I made all the necessary changes but I am faced with this error when trying to test out the new app after migration:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example/com.example.ui.splash.SplashActivity}: java.lang.InstantiationException: java.lang.Class<com.example.ui.splash.SplashActivity> has no zero argument constructor
Caused by: java.lang.InstantiationException: java.lang.Class<com.example.ui.splash.SplashActivity> has no zero argument constructor
I can't make sense of this error. Heres my SplashActivity class:
public class SplashActivity extends BaseActivity<ActivitySplashBinding> {
public SplashActivity(ActivitySplashBinding binding) {
super(binding);
}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}
And here is the BaseActivity class:
public abstract class BaseActivity<VB extends ViewBinding> extends AppCompatActivity {
protected VB binding;
public BaseActivity(VB binding) {
this.binding = binding;
}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AndroidInjection.inject(this);
setContentView(binding.getRoot());
}
}
What am I missing here ?