kotlin点击事件

布局文件

    <TextView
        android:id="@+id/test"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:gravity="center"
        android:text="测试点击事件"
        android:textSize="18sp" />

方式一:匿名内部类

tv_test.setOnClickListener {
    
    
    Toast.makeText(this, "点击了",Toast.LENGTH_SHORT).show()
}

方式二:实现View.OnClickListener接口的onClick方法

class MainActivity : AppCompatActivity(), View.OnClickListener {
    
    

    override fun onCreate(savedInstanceState: Bundle?) {
    
    
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        tv_test.setOnClickListener(this)
    }

    override fun onClick(v: View?) {
    
    
        when (v?.id) {
    
    
            R.id.tv_test	->
                Toast.makeText(this, "点击了", Toast.LENGTH_SHORT).show()
        }
    }

}

方式三:控件添加onClick属性,对应activity或者fragment中添加对应方法

添加onClick属性后的布局文件

    <TextView
        android:id="@+id/test"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:gravity="center"
        android:onClick="testClick"
        android:text="测试点击事件"
        android:textSize="18sp" />

添加后,“testClick”这里会出现红色下划线,因为对应activity或者fragment中没有对应的方法,可以alter+enter提示,选中红框中自动生成,也可手动添加
在这里插入图片描述
添加对应方法后的activity

class MainActivity : AppCompatActivity() {
    
    

    override fun onCreate(savedInstanceState: Bundle?) {
    
    
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }

    fun testClick(view: View) {
    
    
        Toast.makeText(this, "点击了", Toast.LENGTH_SHORT).show()
    }

}

仅此记录,如有问题还请提出,谢谢

猜你喜欢

转载自blog.csdn.net/nongminkouhao/article/details/108233486