Как скопировать определенный текст в буфер обмена по нажатию на кнопку?
Asked
Active
Viewed 6,442 times
3 Answers
12
Делается так:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("", editText.getText().toString());
clipboard.setPrimaryClip(clip);
}
});
Андроид Андроид
- 7,214
5
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void copyText(String copiedText) {
int sdk = android.os.Build.VERSION.SDK_INT;
if(sdk < android.os.Build.VERSION_CODES.HONEYCOMB) {
android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
clipboard.setText(copiedText);
} else {
android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
android.content.ClipData clip = android.content.ClipData.newPlainText("TAG",copiedText);
clipboard.setPrimaryClip(clip);
}
}
По нажатию на кнопку передавайте нужный текст в этот метод. Это если фрагмент.
Если нет, то замените getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
VAndrJ
- 15,791
2
android:textIsSelectable="true"
После чего у вас появиться edit панель, где можно копировать выделенный текст. Но если это не решит проблему, отпишите я добавлю ответ.
Shwarz Andrei
- 11,999