Ben*_*Lee 9 android paste textview android-edittext android-3.0-honeycomb
我有一个自定义的EditText,需要自定义"粘贴".
我重写onTextContextMenuItem(int id)来处理通过选择上下文菜单请求的"粘贴".
@Override
public boolean onTextContextMenuItem(int id) {
switch(id){
case android.R.id.paste:
doMyPaste();
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
这适用于3.0之前的Android.
但是,在3.0中,如果长按按钮,或者点击光标,则在光标小部件附近会有一个小的"粘贴"小部件.

当用户从此窗口小部件"粘贴"时,onTextContextMenuItem(int id)将不会调用该窗口小部件.结果,我不能做自定义粘贴.
有谁知道那个小的"粘贴"小部件是什么?我应该用哪种方法覆盖自己的"粘贴"?
为了涵盖所有基础,这必须是特定于 API 的,因此您必须承诺以两种不同的方式进行操作。
对于新的 API,新的android.content.ClipboardManager接口提供了传输所需的任何 MIME 类型所需的一切。
对于旧的 API,如果您希望使用旧的android.text.ClipboardManager. 只需对图像(或其他内容)的数据进行 base-64 编码并将其作为文本发送即可。在接收端,只需颠倒该过程即可。
android.text.ClipboardManager您甚至可以通过确定您是否有或来“自动检测”android.content.ClipboardManager并采取相应行动!
super.onTextContextMenuItem(id)另外,如果您不处理任何内容,您的处理程序方法应该返回。也许是编辑神器?
至于粘贴小部件,它在旧 API 中不存在,或者可能存在于某些 OEM UI 中,您可能只能自己实现它,或者使用降级的交互方法。将文本放入剪贴板后,粘贴命令将显示在“正常”上下文菜单中。
| 归档时间: |
|
| 查看次数: |
2290 次 |
| 最近记录: |