a_s*_*ber 6 android kotlin kotlin-extension
我的Android项目有两个模块:
app
common
Run Code Online (Sandbox Code Playgroud)
在settings.gradle中:
rootProject.name='My project'
include ':app'
include ':common'
Run Code Online (Sandbox Code Playgroud)
在我的 build.gradle 中:
implementation project(':common')
Run Code Online (Sandbox Code Playgroud)
在公共包中,我有StringUtil.kt和下一个扩展函数:
fun String.isEmailValid(): Boolean {
return !TextUtils.isEmpty(this) && android.util.Patterns.EMAIL_ADDRESS.matcher(this).matches()
}
Run Code Online (Sandbox Code Playgroud)
在这个类中我可以使用这样的扩展函数:
val str = ""
str.isEmailValid()
Run Code Online (Sandbox Code Playgroud)
但在app模块中我有课
class RegistrationViewModel(application: Application) : AndroidViewModel(application) {
fun doClickRegistration(email: String?, password: String?, retypePassword: String?) {
val str = ""
str.isEmailValid()
}
}
Run Code Online (Sandbox Code Playgroud)
但现在我得到编译错误:
未解决的参考:isEmailValid
如果您没有指定任何可见性修饰符,则默认使用 public,这意味着您的声明将在任何地方都可见;(来源)
由于您没有添加任何可见性修饰符,因此isEmailValid它被视为public.
请注意,必须导入扩展函数。
import com.your.package.path.isEmailValid
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3527 次 |
| 最近记录: |