Java 是否可以使用Dagger2注入使用活动对象创建的对象?

Java 是否可以使用Dagger2注入使用活动对象创建的对象?,java,android,dependency-injection,dagger-2,dagger,Java,Android,Dependency Injection,Dagger 2,Dagger,这是我的MainViewModelModule类,我想在其中添加MainActivity对象的创建: public abstract class MainViewModelModule { @Binds abstract ViewModelProvider.Factory bindMainViewModelFactory(MainViewModelFactory factory); @Binds @IntoMap @ViewModelKey(MainVi

这是我的MainViewModelModule类,我想在其中添加MainActivity对象的创建:

public abstract class MainViewModelModule {
    @Binds
    abstract ViewModelProvider.Factory bindMainViewModelFactory(MainViewModelFactory factory);

    @Binds
    @IntoMap
    @ViewModelKey(MainViewModel.class)
    abstract ViewModel provideMainViewModel(MainViewModel viewModel);

    @Provides
    abstract MainActivity bindMainActivity(); //Create MainActivity object

    @Singleton
    @Provides
    static MyCustomClass provideMyCustomClass(MainActivity mainActivity) {
        return DataBindingUtil.setContentView(mainActivity, R.layout.activity_main);
    }
}
这就是我试图将MyCustomClass对象注入我的活动类的方式:

public class MainActivity extends DaggerAppCompatActivity {
    @Inject MainViewModel mainViewModel;
    @Inject MyCustomClass myCustomClass;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //Use myCustomClass
    }
}
但它不起作用。Android Studio抱怨:

错误:@Binds方法必须只有一个参数,其类型可分配给返回类型


有人能帮我在
MainActivity
中插入
MyCustomClass
对象吗?谢谢

我想尝试一下,希望能成功works@a_local_nobody期待你的回答。谢谢,让我知道,我不是100%肯定它会工作,我想你需要一个提供和一个bind@a_local_nobody无论如何,谢谢你。你还有其他想法吗?@a_local_刚才没有人这么做,我明白了:
错误:@Binds方法必须是抽象的
。所以我不能抽象,因为我需要一个实现。