如何通过在textView中按long来选择和复制文本? [重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过在textView中按long来选择和复制文本? [重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

我在android Studio 3.0.1中工作。我创建了一个EditText,当用户长按该文本时,我在其中编写了一个文本,并将其复制到剪贴板中。

我在这里使用了一种方法(不起作用)

ClipboardManager mClipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); mEditText.setText(mClipboard.getText());

它说方法调用'获取文本'可能会产生'java.lang.NullpointerException'我需要帮助我该怎么办?

答案

试试这个,它会适合你:

 private ClipboardManager myClipboard;
 private ClipData myClip;

 //inside oncreate
 myClipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);



 mEditText.setOnLongClickListener(new OnLongClickListener() { 
        @Override
        public boolean onLongClick(View v) {
           String text;
            text = mEditText.getText().toString();

            myClip = ClipData.newPlainText("text", text);
            myClipboard.setPrimaryClip(myClip);

            Toast.makeText(getApplicationContext(), "Text Copied", 
               Toast.LENGTH_SHORT).show();

            return true;
        }
    });

以上是关于如何通过在textView中按long来选择和复制文本? [重复]的主要内容,如果未能解决你的问题,请参考以下文章