提问者:小点点

如何在文本视图中按长键选择和复制文本?[重复]


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

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

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

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


共1个答案

匿名用户

试试这个,它会为你工作:

 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;
        }
    });