如何通过在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来选择和复制文本? [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Pandas 中按子类别分组? [复制]

在 TextView 中选择 + 复制文本?

如何在 android 中为 TextView 设置字体? [复制]

linux的centos中按tab补全出现列表如何选择

从多个 TextView 中选择文本

在 Android 中,如何从 AsyncTask 更改 TextView? [复制]