Quelqu'un peut-il me dire comment copier le texte présent dans une vue de texte particulière dans le presse-papiers lorsqu'un bouton est enfoncé?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mainpage);
textView = (TextView) findViewById(R.id.textview);
copyText = (Button) findViewById(R.id.bCopy);
copyText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
String getstring = textView.getText().toString();
//Help to continue :)
}
});
}
}
Je veux copier le texte dans TextView textView dans le presse-papiers lorsque le bouton bCopy
est enfoncé.
android
clipboard
copy-paste
clipboardmanager
clipboard-interaction
Darshan Gowda
la source
la source
Réponses:
utiliser ClipboardManager
assurez-vous que vous avez importé
android.content.ClipboardManager
et NONandroid.text.ClipboardManager
. Ce dernier est obsolète. Consultez ce lien pour plus d'informations.la source
ClipboardManager clipboard = getSystemService(getContext(), ClipboardManager.class);
Voici la méthode pour copier du texte dans le presse-papiers:
Cette méthode fonctionne sur tous les appareils Android.
la source
Hier, j'ai fait ce cours. Prenez-le, c'est pour tous les niveaux d'API
la source
En tant qu'extension de kotlin pratique:
Mettre à jour:
Si vous utilisez ContextCompat, vous devez utiliser:
la source
context.getSystemService(ClipboardManager::class.java)
vous pointez sur une signature ContextCompat, n'est-ce pas? Merci pour les commentairesUtilisez-le. Cela ne fonctionne que pour Android api> = 11 avant cela, vous devrez utiliser un ClipData.
J'espère que cela vous a aidé :)
[MISE À JOUR 3/19/2015] Tout comme Ujjwal Singh l'a dit, la méthode
setText
est obsolète maintenant, vous devez utiliser, tout comme les docs le recommandent, setPrimaryClip (clipData)la source
(ClipboardManager) this.getSystemService(Context.CLIPBOARD_SERVICE); _clipboard.setText(YOUR TEXT);
setText
useClipData
+setPrimaryClip
Cela peut être fait dans Kotlin comme ceci:
Où
file.readText()
est votre chaîne d'entrée.la source
utilisez ce code
la source
utiliser cette fonction pour copier dans le presse-papiers
la source
la source
int sdk = android.os.Build.VERSION.SDK_INT;
la source
utilisez cette méthode:
à la place de setPrimaryClip, nous pouvons également utiliser les méthodes suivantes:
Efface tout clip principal actuel du presse-papiers.
Renvoie le clip principal actuel dans le presse-papiers.
Renvoie une description du clip principal actuel dans le presse-papiers mais pas une copie de ses données.
Cette méthode est obsolète. Utilisez plutôt getPrimaryClip (). Cela récupère le clip principal et essaie de le contraindre à une chaîne.
Renvoie true s'il existe actuellement un clip principal dans le presse-papiers.
la source
la source
Essayez le code suivant. Il prendra en charge la dernière API:
la source
Méthode d'assistance Kotlin pour attacher cliquez pour copier des textes sur une TextView
Mettez cette méthode quelque part dans la classe Util. Cette méthode attache l'écouteur de clics sur textview pour copier le contenu de textView dans un clipText sur clic de ce textView
la source
Vous pouvez effectuer cette fonction de copie dans le presse-papiers lors d'un événement de bouton onclick. alors mettez ces lignes de code à l'intérieur de votre bouton onClickListerner
la source
Écrivez simplement ce code:
la source
clipboard
. Mais merci poursetText
. Il est obsolète, alors utilisez-leval clip = ClipData.newPlainText(null, text) clipboard.setPrimaryClip(clip)
.Pour Kotlin
la source