【问题标题】:EditText: change images to string when copying?EditText:复制时将图像更改为字符串?
【发布时间】:2012-07-16 13:55:57
【问题描述】:

我有一个可以包含图像(表情符号)的 EditText。当我复制此文本并将其粘贴到其他位置时,我得到的是“obj”正方形而不是图像。

有没有办法在复制时更改要放入剪贴板的内容(以便我可以将图像对象更改为字符串)?

编辑 1: 我想我可以创建自己的 EditText 类并覆盖复制文本时使用的方法。任何人都知道我应该覆盖什么方法?我尝试了“getText()”,但它不起作用...

编辑 2: 实际上,它确实有效,但是重写此方法会更改 EditText 中的文本,所以它仍然没有用...

【问题讨论】:

    标签: android copy-paste android-edittext


    【解决方案1】:

    也许这会有所帮助:

    public boolean onTextContextMenuItem(int id) {
        switch (id) {
        case android.R.id.copy:
            // override copy
            return true;
        case android.R.id.paste:
            // override paste
            return true;
        }
        return super.onTextContextMenuItem(id);
    }
    

    【讨论】:

      【解决方案2】:

      您是否尝试过创建图像的字节数组?

      ByteArrayOutputStream baos = new ByteArrayOutputStream();
      bm.compress(Bitmap.CompressFormat.PNG, 100, baos); //bm is the bitmap object
      byte[] b = baos.toByteArray();

      【讨论】:

      • 我正在将此消息发送到服务器,以便各种客户端可以获取它。如果他们中的一些人无法将其重新解释为图像,他们应该会看到像“:)”这样的经典表情符号,而不是一堆 thrash 字符......这就是我需要获取 String 而不是 Spanned 的原因之一
      【解决方案3】:

      我不知道你是否解决了这个问题。我刚刚在stackoverflow_1527918 发了一个帖子

      我使用的方法是对editText.getText().toString 进行线性搜索以找到“obj”字符。然后将其替换为图像的链接。

      如果你有更好的想法,请告诉我。谢谢你。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-24
        • 2019-08-14
        • 1970-01-01
        • 2013-02-15
        • 2013-04-19
        相关资源
        最近更新 更多