zoukankan      html  css  js  c++  java
  • Android 复制文本内容到系统剪贴板(自由复制)

    直接上代码:(对应的类:android.content.ClipboardManager)

                    //获取剪贴板管理器:
                    ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
                    // 创建普通字符型ClipData
                    ClipData mClipData = ClipData.newPlainText("Label", "这里是要复制的文字");
                    // 将ClipData内容放到系统剪贴板里。
                    cm.setPrimaryClip(mClipData);

    上面的代码就可以将文字放到剪贴板了,然后找个输入框“粘贴”就行啦~

    ps:API 11之前,复制到系统剪贴板是cm.setText(“复制的文字”);但这句已经失效了,在API11后对ClipboardManager进行了升级,改成cm.setPrimaryClip(mClipData),使之可以通过(ClipData)复制文本、Uri和Intent。正如上面示例;

    ***********************************************************************

    如需自由复制TextView等控件的文字,只是要在该控件上加上这句就好了android:textIsSelectable="true",或者java代码加 setTextIsSelectable(true);效果如图:


    ************************************************************************

    下面详细介绍下:

    (1)获取剪贴板管理器:

    ClipboardManager mClipboardManager =(ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);

    (2)创建能够存入剪贴板的ClipData对象(ClipData对象中包含一个或多个ClipData.Item对象):
      A. 创建普通字符型ClipData:

           ClipData mClipData =ClipData.newPlainText("Label", "Content");         //‘Label’这是任意文字标签

     B. 创建URL型ClipData:

           ClipData.newRawUri("Label",Uri.parse("http://www.baidu.com"));

     C. 创建Intent型ClipData:

    注意:上面三种方法只在ClipData对象中创建了一个ClipData.Item对象,如果想向ClipData对象中添加多个Item应该通过ClipData对象的addItem()方法添加。

    (3)将ClipData数据复制到剪贴板:

    ClipboardManager.setPrimaryClip(ClipData对象);  

    (4)从剪贴板中获取ClipData数据:

    ClipboardManager.getPrimaryClip();  

    ps:普通字符串,URL和Intent三种数据使用情况:
    (1)普通字符:就是普通字符串的剪切,复制,粘贴。
    (2)URL:在复制的时候可以复制一个URL,这个URL可以是请求ContentProvider的URL,在粘贴的时候调用ContntProvider获取数据,并使用。
    (3)Intent:如,在记事本应用中长按某一个记录本条目,这时会创建删除这个记事本的Intent,并添加到剪贴板,当用户将这个记事本条目拖到垃圾桶松开时,应用会从剪贴板中获取Intent并执行,这个记事本条目就被删除了。

  • 相关阅读:
    JavaScript中的ActiveXObject控制Excel的方法
    事务的作用
    SQL2005关于quotename的用法
    简易办公系统的设计与实现 文献收集
    《UML建模在办公自动化(OA)系统设计中的应用 》论文笔记(四)
    《基于 UML 与 J2EE 的高校 OA 系统的分析与设计》论文笔记(三)
    《浅谈企业办公管理OA系统的设计与实现 》论文笔记(二)
    《基于UML连锁超市OA系统公文流转的设计》论文笔记(五)
    《暗时间》读书笔记
    《无纸化办公管理系统的设计与实现》论文笔记(一)
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/7605553.html
Copyright © 2011-2022 走看看