我为 Toothpick 和 Authenticator 创建了 Activity、ViewModel、Modules。@Singletonpublic class GetSmsViewModel { @Inject Application app; @Inject Authenticator authenticator;...}public class GetSmsActivity extends AppCompatActivity { private Scope appScope; @Inject GetSmsViewModel mGetSmsViewModel;... @Override protected void onCreate(Bundle savedInstanceState) { appScope = Toothpick.openScope(getApplication()); appScope.installModules(new DIModule(getApplication()), new DataModule()); super.onCreate(savedInstanceState); Toothpick.inject(this, appScope); ... }}public class DIModule extends Module { public MagicDeliveryMainModule(Application application) { bind(GetSmsViewModel.class).toInstance(new GetSmsViewModel()); bind(Application.class).toInstance(application); bind(Authenticator.class).toInstance(new Authenticator()); }}在 Toothpick 的文档中写道:“如果 Toothpick 创建一个实例,它将始终注入其依赖项。” , 但在 Toothpick.inject(this, appScope); 之后mGetSmsViewModel.app == null 和 mGetSmsViewModel.authenticator == null 。在 Toothpick.inject(mGetSmsViewModel, appScope); 之后 app 和 authenticationator 字段被注入。应该是这样吗?
添加回答
举报
0/150
提交
取消