我為 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
提交
取消