【发布时间】:2019-07-21 04:06:41
【问题描述】:
- 我曾经通过使用 java中的公共方法
- 如何使用 kotlin 做同样的事情
App.kt
class App : Application() {
private var app: App? = null
private var movieAppComponent: MovieAppComponent? = null
override fun onCreate() {
super.onCreate()
app = this
movieAppComponent = DaggerMovieAppComponent.builder()
.applicationModule(ApplicationModule(this))
.netModule(NetModule(Keys.BASE_URL, this))
.build()
}
fun getApp(): App? {
return app
}
fun getMovieAppComponent(): MovieAppComponent? {
return movieAppComponent
}
}
MainActivity.kt
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
App.getApp().getMovieAppComponent().inject(this)
}
}
错误:
App.getApp().getMovieAppComponent().inject(this)
这里getApp() 我得到了未解决的参考
【问题讨论】:
-
因为
getApp是一个非静态方法 .. 使app静态与 Companion 块 .. -
@ADM .... 你能把它显示为答案,所以我可以接受它