美文网首页
Kotlin怎么获取Fragment中的控件并实现点击事件

Kotlin怎么获取Fragment中的控件并实现点击事件

作者: 会写代码的小猿猴 | 来源:发表于2021-07-06 10:19 被阅读0次

    我们都知道在kotlin的activity中不再使用findViewById,可以直接用控件名,那么在Kotlin的fragment中怎么获取控件并实现他的点击事件呢?其实只要知道怎么获取控件就可以了。
    Fragment中有两个方法,一个是onCreateView(),这个方法是创建布局的;还有一个方法是onViewCreat(),这个方法是在onCreateView()返回view之后执行的,并且它会传入一个view的参数,我们可以直接用它的这个参数找到控件,直接贴代码给大家看吧。

    package com.example.fragment
    
    
    import android.os.Bundle
    import android.util.Log
    import android.view.LayoutInflater
    import android.view.View
    import android.view.ViewGroup
    import android.widget.Button
    import androidx.fragment.app.Fragment
    
    
    class LeftFragment : Fragment() {
        protected var mview: View? = null
        private  var button:Button? =null
        override fun onCreateView(
            inflater: LayoutInflater, container: ViewGroup?,
            savedInstanceState: Bundle?
        ): View? {
            mview = inflater.inflate(com.example.fragment.R.layout.left_fragment, container, false)
            return mview
        }
    
        override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
            super.onViewCreated(view, savedInstanceState)
            button=view.findViewById<Button>(R.id.button1)
        }
    
        override fun onActivityCreated(savedInstanceState: Bundle?) {
            super.onActivityCreated(savedInstanceState)
            button?.setOnClickListener{
                Log.e("FragMent","成功")
            }
        }
    }
    

    核心代码是这一块:

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
            super.onViewCreated(view, savedInstanceState)
            button=view.findViewById<Button>(R.id.button1)
        }
    ···

    相关文章

      网友评论

          本文标题:Kotlin怎么获取Fragment中的控件并实现点击事件

          本文链接:https://www.haomeiwen.com/subject/zhuxsltx.html