美文网首页
Kotlin学习笔记——Button

Kotlin学习笔记——Button

作者: Jingtianer | 来源:发表于2019-03-30 09:20 被阅读0次

实现短按长按的方法

调用函数

方法 参数 参数解释 返回值 备注
setOnClickListener lambda表达式 lambda的参数为发生点击动作的View,返回值Unit Unit 相当于override fun onClickListener(v:View)
setOnLongClickListener lambda表达式 lambda的参数为发生点击动作的View,返回值Boolean(true表示这个事件已经消耗完了,false表示事件继续传递,会触发一次短按事件) Unit 相当于override fun onLongClick(v:View):Boolean

例子

    btn.setOnClickListener {
        toast("click")
    }
    btn.setOnLongClickListener {
        toast("Long Click")
        true
    }

使用内部类

例子

    //在Activity类里面
    /*
    inner 关键字,访问外部类的数据
    继承View.onClickListener
    */
    private inner class MyClickListener : View.onClickListener {
        override fun onClick(v:View) {
            toast.("您点击了:${(v as Button).text}")
        }
    }

实现接口

让当前Activity实现OnClickListenerOnLongClickListener两个接口

例子

    class MainActivity : AppCompatActivity() , OnClickListener, OnLongClickListener {
        override fun onClick(v: View?) {
            var text:TextView = findViewById(R.id.text)
            text.append("hello world\n")
        }

        override fun onLongClick(v: View?): Boolean {
            toast("哎呀,一直按着人家干什么啦~~")
            return true
        }

        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
            var start:FloatingActionButton = findViewById(R.id.start)
            start.setOnLongClickListener(this)
            start.setOnClickListener(this)
        }
    } 

相关文章

网友评论

      本文标题:Kotlin学习笔记——Button

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