package com.sw.platecabinet.ext import android.os.Handler import android.os.Looper import android.view.View import android.widget.TextView /** * 设置 TextView 的双击和单击事件监听器 * @param doubleClickInterval 双击间隔时间(毫秒),默认 300ms * @param onDoubleClick 双击回调 * @param onSingleClick 单击回调 */ fun TextView.setClickListeners( doubleClickInterval: Long = 300, onDoubleClick: (View) -> Unit = {}, onSingleClick: (View) -> Unit = {} ) { var clickCount = 0 val handler = Handler(Looper.getMainLooper()) setOnClickListener { view -> clickCount++ handler.postDelayed({ if (clickCount == 1) { onSingleClick(view) } else if (clickCount == 2) { onDoubleClick(view) } clickCount = 0 // 重置计数 }, doubleClickInterval) } }