我在Android Studio 3.0.1中工作。我创建了一个EditText,我现在在其中编写一个文本,当用户长按该文本时,它会在剪贴板中复制。
我在这里使用了一种方法(不起作用)
ClipboardManager mClipboard=(ClipboardManager)getSystemService(CLIPBOARD_SERVICE); mEditText.setText(mClipboard.getText());
它说方法调用“获取文本”可能会产生“java. lang.NullpoinyerException”我需要帮助我该怎么办?
试试这个,它会为你工作:
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;
}
});