2010-02-09 5 views
6

J'écris une application avec EditText widget géré. et je voudrais créer mon propre copier coller menu &. Pour remplacer le menu par défaut Android sur EditText, que dois-je faire? Surclassement long simple? ou existe-t-il un autre moyen de l'implémenter? Merci d'avance.Comment puis-je écrire mon propre menu contextuel pour copier et coller?

+0

Salut fait les fonctions de copie par défaut et coller fonctionnent toujours après avoir fait votre propre menu contextuel? – Muddz

Répondre

1

Il est considéré comme un exercice standard de copier/coller de façon difficile en écrasant le système de menus, en créant les éléments de menu vous-même et votre propre tampon interne.

Cependant, ce n'est pas ce qui devrait être fait si un meilleur moyen est disponible sur la plate-forme. Réimplémenter les fonctions de la plate-forme est bon pour l'apprentissage mais mauvais pour la maintenance.

Wiki de la communauté car ce n'est pas une vraie réponse et je ne devrais pas obtenir rep pour cela. EditText devrait déjà avoir un menu contextuel activé.

+0

Mon opinion personnelle est la même que la vôtre, mais toujours le client le fait ..., il n'y a aucun moyen sans mettre en œuvre mon propre menu copier-coller. En tout cas, merci pour votre réponse. – skysign

+1

Un commentaire est généralement mieux pour ce genre de chose – Casebash

+0

@casebash bien, car il a été accepté répondre, il était évidemment pas. – Joshua

2

Si ce n'était pas le cas, vous devrez l'activer en appelant le registerForContextMenu. Une fois que vous avez activé le menu contextuel, vous devez ajouter des éléments. Ceci est fait en onCreateContextMenu en utilisant l'un des Menu.add methods.

La partie difficile est l'écriture du code pour onContextItemSelected après que l'utilisateur a sélectionné une option. Enregistrer du texte dans le presse-papiers consiste simplement à appeler ((ClipboardManager) getSystemService(CLIPBOARD_SERVICE)).setText("myText");. Cependant, nous devons d'abord trouver quel texte copier. Je n'ai pas encore compris cette dernière partie, mais j'espère que je le ferai bientôt.

Questions connexes

+0

J'ai fait une barre d'outils contextuelle de sélection de texte/contexte où j'ai ajouté la fonctionnalité pour que l'utilisateur puisse faire un texte sélectionné gras/italique/souligné etc. mais après la personnalisation, les fonctions par défaut copier/coller/couper ne fonctionnent plus , mais les icônes pour eux apparaît toujours? Comment theese peut-il être réactivé? mes propres méthodes personnalisées pour bold/italic etc. fonctionnent cependant! – Muddz

Questions connexes