是否有使用Dagger2将对象注入接口的方法

问题描述 投票:0回答:1

在我的活动课中,我可以使用以下方法注入ViewModel:

@Inject
GameViewModel gameViewModel;

而且效果很好。问题是,我想在接口中使用对象:

public interface SharedData {
    @Inject
    GameViewModel gameViewModel;

    default void createNewUser(User authenticatedUser) {
        gameViewModel.userLiveData.observe(this, user -> {
            Log.d("TAG", user.name);
        });
    }
}

这甚至可能吗?因为我得到:

变量gameViewModel可能尚未初始化

匕首不应该那样做吗?

android dependency-injection dagger-2 dagger default-method
1个回答
0
投票

您不能在界面中使用字段。要使用字段,您应该使用一个类或一个抽象类。

© www.soinside.com 2019 - 2024. All rights reserved.