1.重新EditText onTextContextMenuItem(int id) 方法
// 系統常量
// 全選
private static final int ID_SELECT_ALL = android.R.id.selectAll;
// 複製
private static final int ID_COPY = android.R.id.copy;
// 黏貼
private static final int ID_PASTE = android.R.id.paste;
@Override
public boolean onTextContextMenuItem(int id) {
//监听系统复制黏贴剪切的功能
if (id == android.R.id.paste)
{
String copy = getCopyText();
this.setText(copy);
return true;
}
return super.onTextContextMenuItem(id);
}
2设置,获取设置的复制内容
/***
* 设置复制内容到复制系统
* @param label 描述
* @param content 复制内容
* @return
*/
public static boolean copyText(String label, String content) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
android.content.ClipboardManager clipboardManager = (ClipboardManager) ApplicationEntity.getApplication().getSystemService(Context.CLIPBOARD_SERVICE);
if (clipboardManager == null) {
return false;
}
clipboardManager.setPrimaryClip(ClipData.newPlainText(label, content));
return true;
} else {
android.text.ClipboardManager clipboardManager = (ClipboardManager) ApplicationEntity.getApplication().getSystemService(Context.CLIPBOARD_SERVICE);
if (clipboardManager == null) {
return false;
}
clipboardManager.setText(content);
return true;
}
}
/***
* 获取复制内容
* @return
*/
public static String getCopyText() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
android.content.ClipboardManager clipboardManager = (ClipboardManager) ApplicationEntity.getApplication().getSystemService(Context.CLIPBOARD_SERVICE);
if (clipboardManager == null || !clipboardManager.hasPrimaryClip()) {
return "";
}
// 检查剪贴板是否有内容
ClipData clipData = clipboardManager.getPrimaryClip();
if (clipData == null && clipData.getItemCount() <= 0) {
return "";
}
return clipData.getItemAt(0).getText().toString();
} else {
android.text.ClipboardManager clipboardManager = (ClipboardManager) ApplicationEntity.getApplication().getSystemService(Context.CLIPBOARD_SERVICE);
if (clipboardManager != null && clipboardManager.hasText()) {
return "";
}
return clipboardManager.getText().toString();
}
}