简体   繁体   English

从TextView将文本复制到剪贴板

[英]Copy text to clipboard from TextView

The purpose is to add functionality to a copy button on teh screen itself. 目的是向屏幕本身上的复制按钮添加功能。 What it does is it copies the text9 at that pint of time ) in the textview and copies that to the user's clipboard and hence making it available to forward that text and use it in other applications. 它的作用是在该时间点将text9复制到textview中,然后将其复制到用户的剪贴板中,从而可以转发该文本并在其他应用程序中使用它。 What do I do? 我该怎么办?

#Java File.
package com.dreamgoogle.gihf;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.ImageButton;
import android.widget.TextView;

public class Quotes extends Activity {

    ImageButton next;
    ImageButton previous;
    ImageButton copytext;
    TextView q;
    TextView nm;
    String[] str;
    int i, s;

... 
.... 
.... 
... 
... 
... 





        copytext.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {










            }
        });
    }

q is the textview of whose text is to be copied. q是要复制其文本的textview。

clipBorad manager available, but for api 11 onwards . clipBorad管理器可用,但适用于api 11及更高版本。 no options i believe, for pre 11 devices . 我相信没有任何选择,适用于11之前的设备。 read here . 在这里阅读 additionally search for more examples. 另外搜索更多示例。

Use ClipBoardManager's setText method: 使用ClipBoardManager的setText方法:

copytext.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {



//
    q = (TextView) findViewById(R.id.txt); // fetch the textview from the layout
    ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); 
         ClipData clip = ClipData.newPlainText("label", q.getText().toString());
         clipboard.setPrimaryClip(clip);






            }
        });

Original Q / A 原始问答

for only copy text put this code in your copytext.onclicklist.. method: 对于仅复制文本,请将此代码放在您的copytext.onclicklist..方法中:

 ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); 
 ClipData clip = ClipData.newPlainText("label", ""+edittext.getText().toString());
 clipboard.setPrimaryClip(clip);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM