所以,这个标题反映了这个问题。要获取导航控制器 ( androidx.navigation.NavController)上的链接,通常我们使用以下代码:
NavController navController = Navigation.findNavController(this, R.id.nav_host_frag);
Run Code Online (Sandbox Code Playgroud)
是否可以使用框架注入NavController Dagger2?(findNavController需要活动或视图参考)也许这是一个愚蠢的问题,没有人会注入androidx.navigation.NavController,但我还是决定问这个问题以确保我的假设。提前致谢
android dependency-injection dagger-2 android-architecture-components androidx
可以说,我有一个变量:
var myObject : MyObject? = null
它应该在某个地方清除:
myObject?.clear
myObject = null
Run Code Online (Sandbox Code Playgroud)
并且在使用地点应该绝对不可为空.在Java中,我可以这样做:
private MyObject getMyObject(){
if(myObject == null) {
myObject = new MyObject()
}
return myObject
}
Run Code Online (Sandbox Code Playgroud)
问题:如何在Kotlin实现这一目标?
我找到了使用elvis-operator的建议:
private fun getMyObject() = myObject ?: MyObject()
Run Code Online (Sandbox Code Playgroud)
但是这并没有MyObject为myObject变量分配结果(如果要创建新实例).请帮我解决和解释.谢谢你