Android는 클립 보드에 텍스트 복사 및 ClipboardManager 관련 작업

이 기능은 일반적으로 주문 번호 복사와 같은 사용자 작업의 편의를 위해 매우 일반적입니다.
말도 안 돼, 어떻게 작동하는지 봅시다.

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는 동적으로 설정됩니다.

추천

출처blog.csdn.net/yechaoa/article/details/107081048