分配如何调用函数?

时间:2019-02-21 07:45:33

标签: java android kotlin

我的活动

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())?

1 个答案:

答案 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属性。