Directorio de artículos
Esta función también es muy común, generalmente para la conveniencia de las operaciones del usuario, como copiar el número de pedido.
Sin tonterías, veamos cómo funciona.
1. Copie el contenido al portapapeles
tv_order_copy.setOnClickListener {
//获取剪切板管理器
val cm: ClipboardManager = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
//设置内容到剪切板
cm.primaryClip = ClipData.newPlainText(null, item.orderId)
ToastUtils.show(context, "已复制")
}
Es muy simple, primero obtenga el administrador del portapapeles y luego configure el contenido
. Hay 3 tipos de contenido que se pueden configurar:
- newPlainText
- newHtmlText
- newIntent
2. Limpia el portapapeles
tv_order_clear.setOnClickListener {
val cm: ClipboardManager = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
//要api28以上
cm.clearPrimaryClip()
} else {
cm.primaryClip = ClipData.newPlainText(null, null)
}
}
Si el nivel de API es 28 o superior, simplemente llame a clearPrimaryClip () directamente. A continuación, restablezca a vacío.
3. Obtener contenido del portapapeles
iv_order_get.setOnClickListener {
val cm: ClipboardManager = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
if (cm.hasPrimaryClip() && cm.primaryClip != null) {
//cm.primaryClip.itemCount
val text = cm.primaryClip.getItemAt(0).text
ToastUtils.show(context, text.toString())
}
}
En el caso del contenido, el código aquí es el primero, a saber, getItemAt (0) .text. Si hay más de uno y se necesita más de uno, el valor del subíndice aquí debe basarse en cm.primaryClip.itemCount se establece dinámicamente.