美文网首页
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