1 package com.sixin.view;
2
3 import com.sixin.utile.FaceDataUtil;
4 import android.annotation.SuppressLint;
5 import android.content.Context;
6 import android.text.Editable;
7 import android.util.AttributeSet;
8 import android.widget.EditText;
9
10 public class CustomEditView extends EditText {
11 private static final int ID_PASTE = android.R.id.paste;
12
13 public CustomEditView(Context context, AttributeSet attrs) {
14 super(context, attrs);
15 }
16
17 @SuppressLint("NewApi")
18 @Override
19 public boolean onTextContextMenuItem(int id) {
20 if (id == ID_PASTE) {
21 try {
22 int currentapiVersion = android.os.Build.VERSION.SDK_INT;
23 if (currentapiVersion >= android.os.Build.VERSION_CODES.HONEYCOMB) {
24 android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE);
25 String value = clipboard.getText().toString();
26 Editable edit = getEditableText();
27 // edit.clear();
28 int index = this.getSelectionStart();
29 if (index < 0 || index >= edit.length()) {
30 edit.append(FaceDataUtil.getIns(getContext()).getExpressionString(getContext(), value, 0.7f));
31 } else {
32 edit.insert(index, FaceDataUtil.getIns(getContext()).getExpressionString(getContext(), value, 0.7f));// 光标所在位置插入文字
33 }
34
35 } else {
36 android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE);
37 String value = clipboard.getText().toString();
38 Editable edit = getEditableText();
39 // edit.clear();
40 int index = this.getSelectionStart();
41 if (index < 0 || index >= edit.length()) {
42 edit.append(FaceDataUtil.getIns(getContext()).getExpressionString(getContext(), value, 0.7f));
43 } else {
44 edit.insert(index, FaceDataUtil.getIns(getContext()).getExpressionString(getContext(), value, 0.7f));// 光标所在位置插入文字
45 }
46 }
47 return true;
48 } catch (Exception e) {
49 e.printStackTrace();
50 }
51 }
52 return super.onTextContextMenuItem(id);
53 }
54
55 }