1.在Application中获取ClipboardManager
public class MyApplication extends Application{private static Application mApp;private static ClipboardManager mClipboardManager;@Overridepublic void onCreate() {super.onCreate();mApp = this;}public static ClipboardManager getClipboardManager(){if (mClipboardManager == null) {mClipboardManager = (ClipboardManager) mApp.getSystemService(Context.CLIPBOARD_SERVICE);}return mClipboardManager;}}
2.在工具类中添加弹出复制的Dialog
public class Utils {public static void showCopyDialog(Context context , final String content){new AlertDialog.Builder(context).setTitle("选项").setItems(new String[]{"复制"}, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {MyApplication.getClipboardManager().setText(content);dialog.dismiss();}}).show();}}
3.将TextView的内容复制到EditText中
public class MainActivity extends Activity implements OnClickListener{private TextView mTextView;private EditText mEditText;private MyApplication mApp;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mApp = (MyApplication) getApplicationContext();initViews();registerListener();}private void registerListener() {mTextView.setOnClickListener(this);}private void initViews() {mTextView = (TextView) findViewById(R.id.textView1);mEditText = (EditText) findViewById(R.id.editText1);}@Overridepublic void onClick(View v) {mTextView.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Utils.showCopyDialog(MainActivity.this, mTextView.getText().toString());}});}}