我正在编写一个带有 EditText 驱动的小部件的应用程序。我想创建自己的复制和粘贴菜单。要替换 EditText 上的 android 默认菜单,我该怎么办?只是覆盖长按?还是有另一种实施方式?提前致谢。
问问题
5957 次
2 回答
2
EditText 应该已经启用了上下文菜单。如果不是,那么您必须通过调用registerForContextMenu来启用它。启用上下文菜单后,您必须向其中添加项目。这是通过使用Menu.add 方法之一在onCreateContextMenu中完成的。
困难的部分是在用户选择一个选项后为onContextItemSelected编写代码。将文本保存到剪贴板只需调用((ClipboardManager) getSystemService(CLIPBOARD_SERVICE)).setText("myText");
. 但是,首先我们需要找到要复制的文本。我还没有弄清楚最后一部分,但我希望我很快就会做到。
相关问题
于 2010-05-28T02:36:20.443 回答
1
通过覆盖菜单系统、自己创建菜单项和自己的内部缓冲区来实现复制/粘贴被认为是某种标准练习。
但是,如果平台上有更好的方法,则不应该这样做。重新实现平台功能有利于学习,但不利于维护。
Community Wiki,因为这不是一个真正的答案,我不应该为此获得代表。
于 2010-02-09T05:01:13.940 回答