我的活动
class PlayerDetails : AppCompatActivity() {
private lateinit var binding: ActivityPlayerDetailsBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = DataBindingUtil.setContentView(this, R.layout.activity_player_details)
}
分配(binding = DataBindingUtil.setContentView(this, R.layout.activity_player_details
)如何调用函数? (setContentView()
)?
答案 0 :(得分:1)
请查看以下示例:
fun main() {
val newString = createString()
println("String was created " + newString)
}
fun createString(): String {
println("Hello, world!!!")
return "new string"
}
继续运行here 如果运行它,您将在输出中看到:
你好,世界!!!
创建了新的字符串
但是Hello, world!!!
来自哪里?作业如何将其他文本打印到日志中?
问题是val newString = createString()
不仅仅是一个分配。例如,纯分配将为var s = "s"
,其中仅将新值分配给变量。但是在这里我们看到了一个方法调用createString()
,该方法调用返回分配给String
的结果(val newString
)。您可以这样解释它:
val temptString = createString()
val newString = tempString
因此,当调用createString()
方法时,它将在内部打印出Hello, world!!!
。
现在,请看一下您自己的代码。同样的事情在那里发生。
首先,它调用函数DataBindingUtil.setContentView(this, R.layout.activity_player_details)
,该函数在幕后调用setContentView()
(您正在寻找)并返回一个ViewDataBinding
对象。稍后将分配给binding
属性。