data class AuthDataModel @Inject constructor(
var username: String = "",
var password: String = "",
var mobileData: String = "
我正在尝试将身份验证数据模型注入kotlin中的身份验证视图模型,但是它不能与message一起编译(“类型只能包含一个@Inject构造函数)
答案 0 :(得分:5)
将我的评论移至答案:
如果您的构造函数带有默认参数,Kotlin实际上会生成其他构造函数。在您的情况下,您有3个arg构造函数,其中所有都是可选的,总共生成4个构造函数。 Kotlin显然还将主构造函数上的所有注释也与所有生成的注释相关联,这意味着您最终得到了4个构造函数。
您有两个选择:
第一个,正如您自己提到的,删除所有默认值。如果没有默认值,则仅使用注释生成一个构造函数。
或者,您也可以自己创建其他构造函数并将其指向主构造函数。这也可以让您手动指定仅一个具有@Inject
注释,而其他人则没有。