이 기능은 일반적으로 주문 번호 복사와 같은 사용자 작업의 편의를 위해 매우 일반적입니다.
말도 안 돼, 어떻게 작동하는지 봅시다.
1. 콘텐츠를 클립 보드에 복사
tv_order_copy.setOnClickListener {
//获取剪切板管理器
val cm: ClipboardManager = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
//设置内容到剪切板
cm.primaryClip = ClipData.newPlainText(null, item.orderId)
ToastUtils.show(context, "已复制")
}
매우 간단합니다. 먼저 클립 보드 관리자를 가져온 다음 콘텐츠를 설정합니다
. 설정할 수있는 콘텐츠 에는 3 가지 유형이 있습니다 .
- newPlainText
- newHtmlText
- newIntent
2. 클립 보드 지우기
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)
}
}
API 레벨이 28 이상이면 clearPrimaryClip ()을 직접 호출하고 아래에서 빈 상태로 재설정합니다.
3. 클립 보드 콘텐츠 가져 오기
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())
}
}
콘텐츠의 경우 여기에있는 코드가 첫 번째 코드, 즉 getItemAt (0) .text입니다. 둘 이상이 있고 둘 이상이 필요한 경우 여기에있는 아래 첨자 값은 cm.primaryClip.itemCount는 동적으로 설정됩니다.