这是我的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方法必须仅具有一个参数,其类型可以分配给返回类型
有人可以帮助我在MyCustomClass
中注入MainActivity
对象吗?谢谢