代码之家  ›  专栏  ›  技术社区  ›  George Udosen

我需要了解这个kotlin代码在android应用程序中的作用

  •  -1
  • George Udosen  · 技术社区  · 6 年前

    我正在学习一个教程 NewChatroomDialog.kt 片段类,我有以下代码:

     mCreateChatroom!!.setOnClickListener {
        ...
        (activity as ChatActivity).init()
        ...
     }
    

    这个 init() 方法在 ChatActivity.kt Android活动:

    fun init() {
    
       ...
    
       mFob!!.setOnClickListener {
            val dialog = NewChatroomDialog()
            dialog.show(supportFragmentManager, getString(R.string.dialog_new_chatroom))
       }
    }
    

    现在我明白了(但我可能错了)两件事:

    1. 变量 activity 按类型转换 ChatActivity ,和
    2. 这个 初始化() ,有一个扩展函数 聊天活动.kt

    我对这两件事的理解是否正确,我对这段代码的理解是否遗漏了什么?

    0 回复  |  直到 6 年前
        1
  •  2
  •   Micael Mota    6 年前

    你很明白,只是 init() 不完全是扩展函数。变量 activity 是当前的活动实例,片段附加在其中(这是java中的 getActivity(); 返回)并且它只是调用 初始化() 功能;