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

问题描述 投票:-1回答:1

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

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

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

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

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

java android nullpointerexception
1个回答
0
投票

试试这个,它会适合你:

 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;
        }
    });
© www.soinside.com 2019 - 2024. All rights reserved.