InstantiationException after migrating from Butterknife to Android's Viewbinding

30 Views Asked by At

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 ?

0

There are 0 best solutions below