Je construis une application Android et je veux copier la valeur du texte d'un widget EditText. Il est possible pour l'utilisateur d'appuyer sur Menu+A
puis Menu+C
pour copier la valeur, mais comment le faire de manière programmatique ?
Réponses
Trop de publicités?
Rajeev
Points
68
Alex Busuioc
Points
144
Ou créer une extension Kotlin
fun String.copyToClipboard(context: Context) {
val clipBoard = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
val clipData = ClipData.newPlainText("label",this)
clipBoard.setPrimaryClip(clipData)
}
et ensuite appeler
"stringToCopy".copyToClipboard(requireContext())
Mehul Boghra
Points
73
Voici mon code de travail
/**
* Method to code text in clip board
*
* @param context context
* @param text text what wan to copy in clipboard
* @param label label what want to copied
*/
public static void copyCodeInClipBoard(Context context, String text, String label) {
if (context != null) {
ClipboardManager clipboard = (ClipboardManager) context.getSystemService(CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText(label, text);
if (clipboard == null || clip == null)
return;
clipboard.setPrimaryClip(clip);
}
}
Junsu Lee
Points
481
À moins que votre application ne soit l'éditeur de méthode d'entrée (IME) par défaut ou l'application qui a actuellement le focus, votre application ne peut pas accéder aux données du presse-papiers sur Android 10 ou supérieur. https://developer.Android.com/about/versions/10/privacy/changes#clipboard-data
jafar_aml
Points
21
J'utilise ceci (travailler avec des fragments) - la méthode kotlinienne.
private fun copyTextToClipboard(copyText: String) {
val clipboardManager = requireActivity().
getSystemService(CLIPBOARD_SERVICE) as
android.content.ClipboardManager
val clipData = ClipData.newPlainText("userLabel" ,copyText.trim())
clipboardManager.setPrimaryClip(clipData)
}
- Réponses précédentes
- Plus de réponses
1 votes
Gestionnaire de presse-papiers. developer.Android.com/reference/Android/content/
0 votes
Il s'agit essentiellement d'une question dupliquée de : stackoverflow.com/a/13517876/2116185